Răspuns :
Salut!
Ai codul sursa mai jos
#include <iostream>
using namespace std;
int identice (int n)
{
int ok = 1; //asumam ca toate cifrele sunt egale
int c = n % 10;
n /= 10;
while (n && ok) //while (n != 0 && ok != 0)
{
if (c != n % 10)
{
ok = 0;
}
n /= 10;
c = n % 10;
}
return ok;
}
int main()
{
int n;
cin >> n;
cout << identice(n);
return 0;
}
- Problema era cu while ul tau, care nu actualiza n ul daca cifrele nu erau egale, de asemenea avem nevoie si de o conditie de oprire a while ului, nu doar daca n ajunge 0 ci si daca am gasit o cifra diferita de restul, altfel se ajungea la ceva infinit pe cazuri cu rezultat 0.
Side note: Problema ti a cerut doar subprogramul definit, nu tot codul ;)
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Ne bucurăm dacă informațiile oferite v-au fost de folos. Pentru întrebări sau asistență suplimentară, nu ezitați să ne contactați. Revenirea dumneavoastră ne onorează – adăugați-ne la favorite pentru a fi mereu la curent!