👤

Să se scrie o funcție C++ recursivă care să returneze cifra maximă a unui număr natural transmis ca parametru.
numele funcției va fi cifmax
funcția va avea un parametru reprezentând numărul dat
numărul pentru care se calculează cifra maximă va fi mai mic decât 2.000.000.000
ex:
cifmax(2050) este 5
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.


Răspuns :

Da este usor 
Cea mai usoara metoda ar fi urmatoarea :
floor(log10(cifmax)) + 1;  
doar ca problema cere o functie scrisa de tine deci ai nevoie de asta :

int cifmax(int number) {   
     return (number >= 10) ? 1 + cifmax(number/10) : 1;
}
Daca nu esti familiar cu sintaxa , structura se traduce usor : daca number > 10 returneaza 1 + cifmax(number/10)  altfel returneaza 1

Opa : tu doresti cifra maxima : am citit gresit atunci faci asta :

int cifmax(int number) {   
  return
(number != 0) ? (number%10 > cifmax(number/10)  ? number%10 : cifmax(number/10)) : 0;
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!


Ez Studiers: Alte intrebari