Se considera un tablou liniar de dimensiunea n cu elemente numere intregi. Elaborati un program care va muta la inceputul tabloului data toate elementele diferite de zero, pastrind ordinea lor, iar toate elementele egale cu zero- la sfirsitul tabloului. Tabloul modificat sa se afiseze pe ecran
In C++
Răspunsuri la întrebare
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int v[30],n,j,i;
cin>>n;
for(i=0;i<n;i++)
cin>>v[i];
//sortez elementele
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(v[i]==0&&v[j]!=0)
swap(v[i],v[j]);
for(i=0;i<n;i++)
cout<<v[i];
return 0;
}
#include <iostream>
using namespace std;
int a[200];
int main()
{
int n, i;
cout << "n=";
cin >> n;
cout << " introdu componentele vectorului: \n";
for (i=1; i<=n; ++i)
cin >> a[i];
int terminat=0;
while (terminat==0)
{
terminat=1;
for (i=1; i<n; ++i)
if (a[i]==0 && a[i+1]!=0)
{ swap(a[i], a[i+1]); terminat=0; }
}
cout << " vectorul modificat: \n";
for (i=1; i<=n; ++i)
cout << a[i] << " ";
return 0;
}