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

Am o problema la informatica(in C++)care am rezolvat-o,dar cand o testez nu imi da bine.Imi puteti spune ce am gresit sau sa imi refaceti programul,corect?Multumesc!


Cerinta este urmatoarea:


Se dă un număr natural n (n>=10). Să se stabilească dacă ultimele 2 cifre ale lui n sunt ambele nenule.

Se va afișa mesajul DA sau NU. În cazul în care mesajul este DA să se afișeze suma celor două cifre.




Asa am facut eu:



#include


using namespace std;


int main()

{

int n,a,b;

cin>>n;

a=((n/100)-(n%10))/10;

b=n%10;

if(a==b)

{

cout<<"NU";

}

else

{

cout<<"DA"<<' '< }

return 0;

}

Răspunsuri la întrebare

Răspuns de CinevaFaraNume
1

Răspuns:

#include <iostream>

using namespace std;

int main()

{

int n,a,b;

cin>>n;

a=(n/10)%10;

b=n%10;

if(a==0||b==0)

{

cout<<"NU";

}

else

{

cout<<"DA "<< (a+b);

}

return 0;

}

Explicație:

1. a=((n/100)-(n%10))/10;

Nu asa se extrage cifra zecilor.

Corect este:

a=((n%100)-(n%10))/10;

Dar este echivalent cu:

a = (n/10)%10;

Sau

a = (n%100)/10;

2.if(a==b)

Spune sa testezi daca sunt nenule, nu daca sunt egale.

Alte întrebări interesante