Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 13 odgovora
  • 4.356 pregleda

Najnovija ↓

Problem oko prostog if uslova 10.02.2016. u 13:01 · pre 130 meseci #1
Problem je sto nisam siguran KOJA JE VREDNOST brojaca (counter) kada se ispuni uslov za a=1

Code:


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

{ a=1}

Re: Problem oko prostog if uslova 10.02.2016. u 22:17 · pre 130 meseci #3
Problem je sto nema. Nego samo da se napise koji je sadrzaj brojaca za a=1
Re: Problem oko prostog if uslova 10.02.2016. u 22:24 · pre 130 meseci #4
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.
Sviđa mi se1
Re: Problem oko prostog if uslova 11.02.2016. u 07:40 · pre 130 meseci #5
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.
Sviđa mi se1
Re: Problem oko prostog if uslova 11.02.2016. u 08:33 · pre 130 meseci #6
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.
Re: Problem oko prostog if uslova 11.02.2016. u 08:34 · pre 130 meseci #7
Da li je u ovo izrazu brojac=0 ?

if(!(--brojac)--) { a=1;}
Re: Problem oko prostog if uslova 11.02.2016. u 09:31 · pre 130 meseci #9
@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 ;)
Sviđa mi se2
Re: Problem oko prostog if uslova 11.02.2016. u 10:35 · pre 130 meseci #13
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;  }







Re: Problem oko prostog if uslova 11.02.2016. u 10:38 · pre 130 meseci #14
-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
Sviđa mi se1
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme