Sa se rearanjeze elementele unui tablou unidimensional de numere intregi astfel incat numerele prime sa fie situate la inceput crescator, iar numerele care nu sunt prime sa fie grupate la sfarsit descrescator.
(c++, clasa a 9-a va rogg)
Utilizator anonim:
se pot folosi vectori auxiliari?
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
using namespace std;
int main()
{
int v[100],n,i,aux,d,k=0,prim;
cin>>n;
for(i=0;i<n;i++)
cin>>v[i];
for(i=0;i<n;i++)
{
prim=1;
for(d=2;d<=v[i]/2;d++)
if(v[i]%d==0)
prim=0;
if(prim==1)
{
aux=v[k];
v[k]=v[i];
v[i]=aux;
k++;
}
}
for(i=0;i<k;i++)
if(v[i+1]<v[i])
{
aux=v[i+1];
v[i+1]=v[i];
v[i]=aux;
}
for(i=k;i<n;i++)
if(v[i+1]>v[i])
{
aux=v[i+1];
v[i+1]=v[i];
v[i]=aux;
}
for(i=0;i<n;i++)
cout<<v[i];
}
using namespace std;
int main()
{
int v[100],n,i,aux,d,k=0,prim;
cin>>n;
for(i=0;i<n;i++)
cin>>v[i];
for(i=0;i<n;i++)
{
prim=1;
for(d=2;d<=v[i]/2;d++)
if(v[i]%d==0)
prim=0;
if(prim==1)
{
aux=v[k];
v[k]=v[i];
v[i]=aux;
k++;
}
}
for(i=0;i<k;i++)
if(v[i+1]<v[i])
{
aux=v[i+1];
v[i+1]=v[i];
v[i]=aux;
}
for(i=k;i<n;i++)
if(v[i+1]>v[i])
{
aux=v[i+1];
v[i+1]=v[i];
v[i]=aux;
}
for(i=0;i<n;i++)
cout<<v[i];
}
Alte întrebări interesante
Istorie,
8 ani în urmă
Fizică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă