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 pentru vizita pe site-ul nostru dedicat Informatică. Ne dorim ca informațiile furnizate să vă fi fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Revenirea dumneavoastră ne bucură, iar pentru acces rapid, adăugați-ne la favorite!