# PBinfo #911 – Cifre6 – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: deivid

## Enunț

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.

## Cod sursă C++

```cpp
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];
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/911)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/911/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-911/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
