online: 10; azi: 229; total: 50684 Manual clasa a ix a - Implementarea algoritmilor - Instructiuni de control

Probleme Rezolvate



Manual clasa a IX a

Implementarea algoritmilor

Instructiuni de control

Se citeşte un număr natural nenul care poate avea maxim 9 cifre . Determinaţi dacă numărul are cifrele ordonate strict crescător sau strict descrescător .
# include < iostream >
int main () {
unsigned int n, prev_digit , digit;
bool ordered = true ;
std :: cout << " Introduceti un numar natural: " ;
std ::cin >> n;
// Initializam prev_digit cu valoarea primei cifre
prev_digit = n % 10 ;
n /= 10 ;
while (n > 0 ) {
// Obtinem cifra curenta si o comparam cu cifra anterioara
digit = n % 10 ;
if (digit >= prev_digit ) {
ordered = false ;
break ;
}
// Actualizam cifra anterioara
prev_digit = digit;
n /= 10 ;
}
if ( ordered ) {
std :: cout << " Numarul are cifrele ordonate strict descrescator .\n" ;
} else {
std :: cout << " Numarul nu are cifrele ordonate strict descrescator .\n" ;
}
return 0 ;
}

Pentru a determina dacă un număr are cifrele ordonate strict crescător sau descrescător, putem parcurge cifrele numărului în ordine, comparând fiecare cifră cu următoarea. Dacă toate cifrele sunt în ordine crescătoare (adică cifra curentă este mai mică decât următoarea), atunci numărul are cifrele ordonate crescător. Dacă toate cifrele sunt în ordine descrescătoare (adică cifra curentă este mai mare decât următoarea), atunci numărul are cifrele ordonate descrescător.
În cazul în care întâlnim o cifră care nu respectă această condiție, putem afișa un mesaj corespunzător și ieșim din bucla de parcurgere a cifrelor.
Pentru a parcurge cifrele numărului, putem folosi operatorul modulo (%) pentru a obține ultima cifră a numărului, apoi împărțind numărul la 10 pentru a elimina această cifră și a trece la cifra următoare.
În acest program, variabila ordered este inițializată cu valoarea true , presupunând că numărul are cifrele ordonate descrescător. Apoi, parcurgem cifrele numărului, începând cu a doua cifră, comparând fiecare cifră cu cifra anterioară. Dacă găsim o cifră care nu respectă această condiție, actualizăm variabila ordered cu valoarea false și ieșim din bucla de parcurgere a cifrelor.
La final, afișăm mesajul corespunzător în funcție de valoarea variabilei ordered .