Informatică, întrebare adresată de alexcraiova2014, 9 ani în urmă

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++


AntiEaglesDavids: incearca si asta: http://pastebin.com/3K7Y2zJQ
Utilizator anonim: Majoritatea care posteaza aici nici n-au incercat sa rezolve problema macar, si la liceu nu prea folosesti functii predefinite(decat la siruri de caractere), trebuie sa gandesti problema
AntiEaglesDavids: exact
Utilizator anonim: E foarte bine ce ai facut Anti, dar eu cred ca profesorul vrea ca elevul sa gandeasca problema, sa vada ce logica are, nu sa-i "tranteasca" functia 
Utilizator anonim: Profa mea daca rezolvam in felul meu si o mai chemam cateodata nu ma baga in seama, "daca nu faci cum zic eu atunci descurca-te":)))
AntiEaglesDavids: sunt de acord, rezorvarile care le dau aici sunt doar asa ca sa ma mai incalzesc un pic cu functiile STL.

Răspunsuri la întrebare

Răspuns de Utilizator anonim
1
#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;}
Alte întrebări interesante