-Un număr natural se numeşte ABC dacă are exact a cifre, prima cifră este b şi ultima cifră este c. sa se afle daca numarul x este abc, sa se afiseze Da in caz contrar NU.
-As vrea sa mi se explice pasi pe care trebuie sa ii parcurg si de ce. Am incercat sa rezolv dar nu stiu cum sa aflu daca x este abc.
-aceasta este rezolvarea mea partiala:
#include

using namespace std;

int main() {
int a, b, c, x;
cin >> a >> b >> c >> x;
while ( x != 0 ) {
x = x / 10;
}
cout << a << " ";
while ( b > 10 ) {
b = x / 10;
}
cout << b << " ";
while ( c > 10 ) {
c = x % 10;
}
cout << c << " ";

if ????????????

cout << "DA ";
}else{
cout << "NU";
}
return 0;
}


Răspuns :

Buna! Ca sa verifici daca un numar este ABC trebuie sa urmezi urmatorii pasi:

1. Verific daca ultima cifra a numarului (n % 10) este egala cu c, daca nu, inseamna ca sigur nu este ABC.

2. Daca trecem de pasul 1,  verificam ca prima cifra sa fie egala cu c, daca nu este putem sa spunem direct ca nu este ABC.

3. Daca am trecut si de 1, si de 2, nu mai ramane decat sa verificam ca numarul de cifre sa fie egal cu a. Daca este spunem "DA", altfel spunem "NU".

Cam asa arata codul (o sa pun si comentarii ca sa intelegi mai bine cum functioneaza):

#include<iostream>

using namespace std;

int main()

{

   int a, b, c, x;

   cin >> a >> b >> c >> x;

   /// Pasul 1: verific ultima cifra

   if(x % 10 != c) /// daca ultima cifra nu este egala cu c, atunci este clar ca nu este ABC

       cout << "NU"; /// si afisam "NU"

   else{ /// altfel:

       /// Pasul 2: aflu prima cifra;

       int cx = x; /// aici iau o copie a lui x;

       while(cx > 9) /// aflu prima cifra

           cx /= 10;

       /// verific daca nu este egala cu b

       if(cx != b)

         cout << "NU";

       else{ /// altfel trecem la urmatorul pas:

           ///  Calculam numarul de cifre:

           int nrcif = 0;

           while(x){

               nrcif++;

               x /= 10;

           }

           /// verific daca nrcif == a;

           if(nrcif == a)

               cout << "DA"; /// pentru ca respecta toate conditiile;

           else

               cout << "NU";

       }

   }

   return 0;

}

Daca ai nelamuriri, ma poti intreba in comentarii!