Rezolvare completă PbInfo #911 Cifre6

Cerinţa

Să se scrie o funcție C++ care primește ca parametri două numere n și k și determină cel mai mare număr care poate fi scris cu k cifre ale lui n. Funcția va întoarce rezultatul prin intermediul unui parametru de ieşire.

Restricţii şi precizări

  • numele funcției va fi numar
  • funcția va avea trei parametri: primul parametru reprezintă numărul n; al doilea parametru reprezintă numărul k, iar al treilea va reprezenta valoarea determinată de funcție
  • toți parametrii vor fi numere naturale nenule mai mici decât 2.000.000.000
  • n va avea cel puțin k cifre

Exemplu

După apelul

numar(27594 , 3 , x);

x va avea valoarea 975.

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.

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema Cifre6 :

void numar(int n , int k , int & x)
{
    int v[20] , m = 0;
    do{
        v[++ m] = n % 10;
        n /= 10;
    }
    while(n);
    for(int i = 1 ; i < m ; i ++)
        for(int j = i + 1 ; j <= m ; j++)
            if(v[i] < v[j])
            {
                int aux = v[i];
                v[i] = v[j];
                v[j] = aux;
            }
    x = 0;
    for(int i = 1 ; i <= k ; i ++)
        x = 10 * x + v[i];
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #911 Cifre6

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #911 Cifre6 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!