Răspuns :
void numar(int n, int k, int & x)
{
int v[11]; //In acest vecot vom stoca fiecare cifra, dar invers, iar in v[0] vom stoca numarul de cifre, astfel pentru 1239, vom avea vectorul: 4 9 3 1 2
v[0] = 0;
while(n)
{
v[0]++;
v[v[0]] = n % 10;
n /= 10;
}
//Facem sortarea pentru cele mai mari k, elemente, cele de care avem nevoie
for(int i = 1; i <= k; ++i)
{
for(int j = 1; j < v[0]; ++j)
if(v[j] > v[j + 1]) //Elementele cele mai mari vor fi "impinse" la capatul vectorului
swap(v[j], v[j + 1]); //Interschimba cele doua elemente
}
//Trecerea din vector in numar, doar pentru cele mai mari k cifre
x = 0;
for(int i = v[0]; i > v[0] - k; --i)
{
x = x * 10 + v[i];
}
}
{
int v[11]; //In acest vecot vom stoca fiecare cifra, dar invers, iar in v[0] vom stoca numarul de cifre, astfel pentru 1239, vom avea vectorul: 4 9 3 1 2
v[0] = 0;
while(n)
{
v[0]++;
v[v[0]] = n % 10;
n /= 10;
}
//Facem sortarea pentru cele mai mari k, elemente, cele de care avem nevoie
for(int i = 1; i <= k; ++i)
{
for(int j = 1; j < v[0]; ++j)
if(v[j] > v[j + 1]) //Elementele cele mai mari vor fi "impinse" la capatul vectorului
swap(v[j], v[j + 1]); //Interschimba cele doua elemente
}
//Trecerea din vector in numar, doar pentru cele mai mari k cifre
x = 0;
for(int i = v[0]; i > v[0] - k; --i)
{
x = x * 10 + v[i];
}
}
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Așteptăm cu nerăbdare să vă revedem și nu uitați să ne salvați în lista de favorite!