Informatică, întrebare adresată de MaCheamaTavi420, 8 ani în urmă

Folosind un if ca un numar are 2 cifre fara sa se foloseasca && ||.
Rapid DAU CORAOANA!!!!!


atudorcurea: Pot fi 2 ifuri?

Răspunsuri la întrebare

Răspuns de atudorcurea
1

Răspuns:

if (numar-10)*(99-numar)>=0

Explicație:

daca numarul este mai mare sau egal ca zece si mai mic sau egal ca 99 rezultatul inmultirii este intoteauna mai mare sau egal cu 0.  Daca nr este mai mic ca zece sau mai mare ca 99 rezultatul inmultirii din if va fi negativ.

    Generalizare: (x - min) * (max - x) >= 0

PLS COROANA

Răspuns de andrei750238
3

► Metoda I :

if(n>=10){

  if(n<=99) cout << "DA";

  else cout << "NU";

}

else cout << "NU".

Explicatie : Folosim doua if-uri imbricate. Daca ambele conditi sunt evaluate la adevarat atunci numarul are doua cifre. Daca una este falsa atunci numarul nu are doua cifre

► Metoda II :

if((n>=10)*(n<=99)) cout << "DA";

else cout << "NU";

Explicatie : Simulam operatorul logic && folosind *. In C/C++ valoarea TRUE este echivalenta cu orice valoare nenula iar valoarea FALSE este echivalenta cu valoarea 0. Expresia (n>=10) se va evalua la 1 daca conditia e adevarata si 0 daca e falsa. Idem pentru (n<=99).

Observam ca tabelul operatiei * pe multimea binara :

0*0=0\\1*0=0\\0*1=0\\1*1=1

Este echivalent cu tabelul operatiei && pe multimea valorilor logice.

Alte întrebări interesante