Răspuns :
if(u=n/10%u)
1. "=" este pentru atribuire, nu verificare daca este egal("==").
2.!!! O atribuire returneaza intotdeauna 1, astfel "conditia" respectiva e intotdeauna adevarata.
3. Daca vroiai sa testezi egalitatea dintre u si n/10%u, restul unei impartiri nu poate fi egal niciodata cu impartitorul(teorema impartirii cu rest), astfel conditia e falsa.
int Egal(int n)//Numele subprogramului incepe cu litera mare, conteaza
{
int u,c=-1; // c tine prima cifra impara pe care am gasit-o, sau -1 daca nu am gasit una inca
while(n!=0)
{
u = n%10;
if(u%2==1){
if(c == -1)
c = u;
else if(c != u)// e cifra impara diferita de prima pe care am gasit-o? daca da, returnam 0.
return 0;
}
n=n/10;
}
return 1;//Daca am ajuns pana aici inseamna ca toate cifrele impare sunt egale, sau exista < 2 cifre impare
}
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.