👤

Subprogramul nule are doi parametri: a, prin care primeşte un tablou unidimensional cu
maximum 100 de numere întregi, cu cel mult 4 cifre fiecare şi n, numărul de elemente din
tablou. Subprogramul rearanjează elementele tabloului unidimensional astfel încât toate
valorile nule să se afle la sfârşitul tabloului. Ordinea în cadrul secvenţei de elemente nenule
poate fi oricare. Tabloul modificat este furnizat tot prin parametrul a.
Exemplu: dacă n=6, a=(12,0,0,-3,-8,0), după apel, acesta ar putea fi:
a=(12,-3,-8,0,0,0).
Scrieţi definiţia completă a subprogramului nule in limbajul C++


Răspuns :

#include<iostream>
using namespace std;
typedef int vector[100];
int n;vector a;
void afisare(int n, vector a)
{ for (int i = 0; i < n; i++) cout << a[i] << "  ";}
void nule(int n,vector a)
{ int aux; for (int i = 0; i<n - 1; i++)
for (int j = i + 1; j<n; j++)
if (a[i]==0)
{ aux = a[i];   a[i] = a[j]; a[j] = aux; }}
int main()
{ int i; cout << "n="; cin >> n;
for (i = 0; i<n; i++)
{ cout <<"a["<< i+1 << "] = ";cin >>a[i];
}
nule(n, a);
afisare(n, a);
system("pause");
return 0;}