SortPrime

Se dă un vector cu n elemente, numere naturale. Afișați în ordine crescătoare valorile prime din acest vector.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele vectorului.

Date de ieșire

Programul va afișa pe ecran valorile prime din vector, în ordine crescătoare, separate prin exact un spațiu.

Restricții și precizări

  • 1 ≤ n ≤ 1000
  • cele n numere citite vor fi mai mici decât 1.000.000.000

Exemplu

Intrare

7
13 1 10 15 3 7 11

Ieșire

3 7 11 13
#include <iostream>
using namespace std;

int main(){
    int n, x[1005];
    cin  >> n;  
    for(int i = 0 ; i < n ; ++ i)
        cin >> x[i];
    bool sortat = false;
    while(! sortat)
    {
        sortat = true;
        for(int i = 0 ; i < n - 1 ; i++)
            if(x[i] > x[i+1])
            {
                int aux = x[i];
                x[i] = x[i+1];
                x[i+1] = aux;
                sortat = false;
            }
    }
    for(int i = 0 ; i < n ; ++ i)
    {
        bool prim = true;
        if(x[i] < 2)
            prim = false;
        if(x[i] % 2 == 0 && x[i] > 2)
            prim = false;
        for(int d = 3 ; d * d <= x[i] ; d += 2)
            if(x[i] % d == 0)
                prim = false;
        if(prim)
            cout << x[i] << " ";
    }
    return 0;
}
%d bloggers like this: