Scrieți definiția completă a subprogramului C++ ordon123 care are 2 parametri:
n – prin care primește un număr natural
a – prin care primește un tablou unidimensional cu n elemente, numere naturale din mulțimea {1,2,3}.
Subprogramul ordonează crescător tabloul a fără a returna valori.
Restricții și precizări
1 ≤ n ≤ 1.000.000
numele subprogramului cerut este ordon123
parametrii sunt, în această ordine: n, a
elementele tabloului a sunt indexate de la zero.
Exemplu:
Dacă n=6 și a=(3,1,2,1,3,1), după apelul subprogramului tabloul a devine (1,1,1,2,3,3).
Important
Soluția propusă va conține doar definiția subprogramului cerut. 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
4
void ordon123(int n, int a[])
{
int nr1=0,nr2=0,nr3=0,k=0;
for (int i=0;i<n;++i)
{
if (a[i]==1) nr1++;
if (a[i]==2) nr2++;
if (a[i]==3) nr3++;
}
for (int i=1;i<=nr1;++i)
{
a[k]=1; k++;
}
for (int i=1;i<=nr2;++i)
{
a[k]=2; k++;
}
for (int i=1;i<=nr3;++i)
{
a[k]=3; k++;
}
}
Alte întrebări interesante
Engleza,
8 ani în urmă
Informatică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă