Scrieţi definiția completă a subprogramului C++ sub care are 3 parametri: n – prin care primește un număr natural, v, prin care primeşte un tablou unidimensional cu n elemente, numere naturale cu cel mult 4 cifre și x, prin care primeşte un număr natural. Cel puțin un element al tabloului v are valoarea x.
Subprogramul modifică ordinea valorilor din tablou, astfel încât toate valorile egale cu x să ocupe primele poziţii din v, iar celelalte valori să se regăsească în continuarea acestora, în ordinea inițială. Tabloul modificat este furnizat tot prin parametrul v.
Restricţii şi precizări
2
numele subprogramului cerut este sub
parametrii sunt, în această ordine: n, v, x
elementele tabloului v sunt indexate de la zero
Exemplu
Dacă n=9, v=(2, 1, 0, 1, 7, 0, 1, 4, 5) şi x=1, atunci, după apel, v=(1, 1, 1, 2, 0, 7, 0, 4, 5).
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
3
void sub(int n, int v[], int x)
{
int aux,i,k=0,w[55];
for(i=0;i<n;i++)
if(x!=v[i]) w[k++]=v[i];
for(i=0;i<n-k;i++) v[i]=x;
for(i=n-k;i<n;i++) v[i]=w[i-(n-k)];
}
{
int aux,i,k=0,w[55];
for(i=0;i<n;i++)
if(x!=v[i]) w[k++]=v[i];
for(i=0;i<n-k;i++) v[i]=x;
for(i=n-k;i<n;i++) v[i]=w[i-(n-k)];
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Geografie,
8 ani în urmă
Matematică,
9 ani în urmă
Fizică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă