fbpx

Problema #920 – CifMaxMinRec – Rezolvari PBInfo

de Mihai-Alexandru

Cerinţa

Să se scrie o funcție C++ recursivă care să determine cifra maximă și cifra minimă a unui număr natural transmis ca parametru. Funcția va întoarce rezultatele prin intermediul unor parametri de ieșire.

Restricţii şi precizări

  • numele funcției va fi cifmaxmin
  • funcția va avea trei parametri:
    • n, numărul dat
    • max, cifra maximă a lui n
    • min, cifra minimă a lui n
  • ordinea parametrilor este: n max min
  • n va fi mai mic decât 2.000.000.000

Important

Soluţia propusă va conţine doar 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.

int cnt = 0;
int cifmaxmin(int n, int& maxi, int& mini){
    if(n == 0 && cnt == 0)
        maxi = 0, mini = 0;
    else if(n == 0)
        maxi = 0, mini = 9;
    else{
        cnt++;
        int c = n % 10;
        cifmaxmin(n/10, maxi, mini);
        if(c > maxi)
            maxi = c;
        if(c < mini)
            mini = c;
    }
}
Comentarii

S-ar putea sa iti placa