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
view sourceprint?
1.
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.
Răspunsuri la întrebare
Răspuns de
1
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];
}
denisdumihist:
ms
Alte întrebări interesante
Matematică,
8 ani în urmă
Geografie,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă