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

Va rog ajutati-ma!!Ofer 40 de puncte + coroana!
Se citeste un vector cu n elemente intregi sa se sorteze vectorii astfel incat:
a.elementele pozitive sa fie pe primele locuri, iar cele negative pe ultimele.
b.elementele pare sa fie pe primele locuri, iar cele impare pe ultimele

Răspunsuri la întrebare

Răspuns de S0unds
0
a.
#include <iostream>
using namespace std;

int main()
{
int n,v[200],aux[200],k=0,i;
cin>>n;
for(i=0;i<n;i++)
cin>>v[i];
for(i=0;i<n;i++)
{
if(v[i]<0)
aux[k++]=v[i];
}
k=0;
for(i=0;i<n;i++)
{
if(v[i]>=0)
v[k++]=v[i];
}
k=0;
for(i=n;i>=k;i--)
v[i]=aux[k++];
v[k-1]=aux[0];
for(i=0;i<n;i++)
cout<<v[i]<<" ";
}


b.
#include <iostream>
using namespace std;

int main()
{
int n,v[200],aux[200],k=0,i;
cin>>n;
for(i=0;i<n;i++)
cin>>v[i];
for(i=0;i<n;i++)
{
if(v[i]%2!=0)
aux[k++]=v[i];
}
k=0;
for(i=0;i<n;i++)
{
if(v[i]%2==0)
v[k++]=v[i];
}
k=0;
for(i=n;i>=k;i--)
v[i]=aux[k++];
v[k-1]=aux[0];
for(i=0;i<n;i++)
cout<<v[i]<<" ";
}

Alte întrebări interesante