Informatică, întrebare adresată de anonim2525, 8 ani în urmă

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 de imihay14
1

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!

Alte întrebări interesante