Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem oko prostog if uslova

[es] :: C/C++ programiranje :: C/C++ za početnike :: Problem oko prostog if uslova

[ Pregleda: 2630 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

HeplF2
Mika Petrov
Beograd

Član broj: 331020
Poruke: 61
*.dynamic.isp.telekom.rs.



+1 Profil

icon Problem oko prostog if uslova10.02.2016. u 12:01 - pre 79 meseci
Problem je sto nisam siguran KOJA JE VREDNOST brojaca (counter) kada se ispuni uslov za a=1

Code:


if (!((--counter )+=2)) 

{ a=1}

 
Odgovor na temu

WintersWolf

Član broj: 332199
Poruke: 12
*.dynamic.sbb.rs.



+1 Profil

icon Re: Problem oko prostog if uslova10.02.2016. u 19:32 - pre 79 meseci
daj ostatak koda ako mislis da ti neko pomogne jer se iz ovog ne moze nista zakljuciti
 
Odgovor na temu

HeplF2
Mika Petrov
Beograd

Član broj: 331020
Poruke: 61
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Problem oko prostog if uslova10.02.2016. u 21:17 - pre 79 meseci
Problem je sto nema. Nego samo da se napise koji je sadrzaj brojaca za a=1
 
Odgovor na temu

plague
Software Developer
Auckland, NZ

Član broj: 46734
Poruke: 623
*.136.4.181.host.layer2.co.nz.



+373 Profil

icon Re: Problem oko prostog if uslova10.02.2016. u 21:24 - pre 79 meseci
Vrednost counter-a je 0 kada dodje do izvrsavanja if bloka.

U C++ sve vrednosti koje nisu 0 se smatraju true dok je 0 = false.

Ako se izvrsi uslov i dodje do dodele a=1, znaci da je izraz !((--counter )+=2) == true
Posto imas negaciju, izraz (--counter )+=2 mora biti false iliti 0.
itd...

Samo ogoli sloj po sloj i doci ces do zakljucka.
 
Odgovor na temu

peromalosutra
Ivan Rajkovic
Software engineer
Luxoft
Berlin

Član broj: 54774
Poruke: 852
*.teol.net.



+144 Profil

icon Re: Problem oko prostog if uslova11.02.2016. u 06:40 - pre 79 meseci
Prvo, koji je ovo jezik, C ili C++? U C-u se ovakav izraz ne kompajlira jer --counter vraca rvalue. U C++ ovo prolazi, tako da pretpostavljam da se mislilo na njega.

Vrijednost brojaca za ispis je -1. Imas uslov
Code:
(!((--counter )+=2)) 


Sto znaci da ovo mora biti false, tj. nula:
Code:
((--counter )+=2)


Sto znaci da --counter mora biti -2, tj. counter je prije toga morao biti -1.

Ovo mozes provjeriti tako sto dopunis ono sto ti fali u kodu:
Code:

#include <iostream>

int main()
{
        int counter = -1;
        if (!((--counter )+=2)) 
        {
                int a=1;
                std::cout << "Entered!" << std::endl;
        }
        return 0;
}


Probaj da counter inicijalizujes na neku drugu vrijednost osim -1 i vidjeces da se ne ulazi u if.

 
Odgovor na temu

HeplF2
Mika Petrov
Beograd

Član broj: 331020
Poruke: 61
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Problem oko prostog if uslova11.02.2016. u 07:33 - pre 79 meseci
I ja sam mislio da to ne prolazi u C, ali se u teoriji trazi da se napise koja je vrednost iako se odnosi na C :D
Hvala na odgovoru. Jeste -1 resenje ali nije mi jasno bilo.
 
Odgovor na temu

HeplF2
Mika Petrov
Beograd

Član broj: 331020
Poruke: 61
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Problem oko prostog if uslova11.02.2016. u 07:34 - pre 79 meseci
Da li je u ovo izrazu brojac=0 ?

if(!(--brojac)--) { a=1;}
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+709 Profil

icon Re: Problem oko prostog if uslova11.02.2016. u 08:20 - pre 79 meseci
http://www.cplusplus.com/reference/cassert/assert/

http://ideone.com/
 
Odgovor na temu

negyxo
Aleksandar Perkuchin

Član broj: 29751
Poruke: 898
*.dynamic.isp.telekom.rs.



+171 Profil

icon Re: Problem oko prostog if uslova11.02.2016. u 08:31 - pre 79 meseci
@HeplF2
Ne bi da gadim temu, ali ko normalan pise takav if? Iz tvog pisanja reklo bi se da je neko pitanje iz nekog testa. Koji god da je test ja bi rekao da te vec u startu uci pogresno ;)
 
Odgovor na temu

HeplF2
Mika Petrov
Beograd

Član broj: 331020
Poruke: 61
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Problem oko prostog if uslova11.02.2016. u 09:02 - pre 79 meseci
A sta da radim ,moram to da polozim.. :D
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+709 Profil

icon Re: Problem oko prostog if uslova11.02.2016. u 09:09 - pre 79 meseci
Koja je to škola (da znam da ne šaljem decu)? :)
 
Odgovor na temu

HeplF2
Mika Petrov
Beograd

Član broj: 331020
Poruke: 61
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Problem oko prostog if uslova11.02.2016. u 09:26 - pre 79 meseci
Pcelica :))))))))))))))))))))))))))))))))))
 
Odgovor na temu

HeplF2
Mika Petrov
Beograd

Član broj: 331020
Poruke: 61
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Problem oko prostog if uslova11.02.2016. u 09:35 - pre 79 meseci
Imam jos jedno pitanje. Ako imate volje da odgovorite..

Imam cetiri niz i teba da mi na displej izbaci koliko ima brojeva, u svakom nizu po na osob, manje od sest. E sada ne znam da li da upotrebim cetiri FOR petlj, za svaki if uslov jedan for, ili da jedan for ya sve if ali ne znam kako da to lepo upakujem da proverava svaki niz a ne samo jedan.

NAGLASAVM, program nije ceo posto mi treba samo taj deo provere.

Code:

byte niz1[16]={3,22,31,9,11,6,7,8,23,17,10,30,73,40,55,93};
 byte niz2[16]={11,14,7,13,17,19,97,2,12,128,1,124,123,122,33,21};
  byte niz3[16]={9,15,4,13,2,49,57,3,74,47,39,59,112,100,91,6};
   byte niz4[16]={33,58,68,66,21,19,97,3,1,2,5,12,27,9,15,11};
byte count1=0,count2=0,count3=0,count4=0;
a= niz1[i];
b= niz2[i];
c= niz3[i];
 d= niz4[i];

for (i=0;i<16;i++){
                           if(a<6) count1++;
                                displej=count1 ;

                           if(b<6) count2++;
                            displej=count2;
                           if(c<6) count3++;
                          displej=count3;
                           if(d<6) count4++;
                           displej=count4;  }







 
Odgovor na temu

plague
Software Developer
Auckland, NZ

Član broj: 46734
Poruke: 623
*.orcon.net.nz.



+373 Profil

icon Re: Problem oko prostog if uslova11.02.2016. u 09:38 - pre 79 meseci
-1 je bila vrednost brojaca pre izvrsavanja if.
Nakon izvrsavanja, ako je usao u if, brojac je postao 0 jer je doslo do dodeljivanja vrednosti: example
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Problem oko prostog if uslova

[ Pregleda: 2630 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.