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. 15

#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.

Similar Posts

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *