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 pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!