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
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
Limba română,
8 ani în urmă
Engleza,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă