Se dă un vector cu n elemente,numere naturale.Afisati în ordine crescătoare valorile prime din vector.
Clasa a 9a,C++
Răspunsuri la întrebare
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int n,i,nr,j,aux,k=0;
cin>>n;
int v[n+1],prime[n+1];
for(i=1;i<=n;i++)
cin>>v[i];
for(i=1;i<=n;i++)
{
nr=0;
for(j=1;j*j<=v[i];j++)
if(v[i]%j==0)
{
nr++;
if(j*j<v[i])
nr++;
}
if(nr==2)
{
k++;
prime[k]=v[i];
}
}
for(i=1;i<k;i++)
for(j=i+1;j<=k;j++)
if(prime[i]>prime[j])
{
aux=prime[i];
prime[i]=prime[j];
prime[j]=aux;
}
for(i=1;i<=k;i++)
cout<<prime[i]<<" ";
return 0;
}
Sper ca te-am ajutat!