Informatică, întrebare adresată de ionutbarosanu2, 9 ani în urmă

Cerința

Subprogramul Egal are un parametru, n, prin care primește un număr natural cu cel puțin o cifră impară. Subprogramul returnează valoarea 1 dacă toate cifrele impare ale lui n sunt egale între ele sau valoarea 0 în caz contrar.

Scrieți definiția completă a subprogramului.

Restricții și precizări:

10 ≤ n ≤ 109

Exemplu:
Dacă n=7727470 sau n=7240 atunci subprogramul returnează 1, iar dacă n=7921470 atunci subprogramul returnează 0.

Important
Soluția propusă va conține definiția funcției cerute. Prezența în soluție a altor instrucțiuni poate duce erori de compilare sau de execuție care vor avea ca efect depunctarea soluției.

Răspunsuri la întrebare

Răspuns de CinevaFaraNume
0

int Egal(int n){

int c = -1;

while(n){

int cif = n%10;

n/=10;

if(c == -1)

c = cif;

else if(cif != c)

return 0;

}

return 1;

}


CinevaFaraNume: Partea asta trebuie pusa cu un
"if(cif % 2 == 0)" in fata
if(c == -1)
c = cif;
else if(cif != c)
return 0;
CinevaFaraNume: % 2 == 1
ionutbarosanu2: imi da 0
CinevaFaraNume: int Egal(int n){
int c = -1;
while(n){
int cif = n%10;
n/=10;
if(cif % 2 == 1)// am spus in comentariu sa adaugati linia asta
if(c == -1)
c = cif;
else if(cif != c)
return 0;
}
return 1;
}
Alte întrebări interesante