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

2. Fie un tablou v unidimensional cu n numere întregi (n<=100). Sa se elimine valorile din tablou care nu sunt numere prime. DAU COROANA URGENT

Răspunsuri la întrebare

Răspuns de crow9920
0

#include <iostream>

#include <fstream>

#include <cstring>

using namespace std;

int este_prim(int x) {

if (x < 2)

return 0;

if (x == 2)

return 1;

for (int i = 2; i * i <= x; i++)

if (x % i == 0)

return 0;

return 1;

}

void sterge_elem(int v[], int &n, int pos) {

for (int i = pos; i < n - 1; i++)

v[i] = v[i + 1];

n--;

}

int main() {

int n;

int v[100];

cin >> n;

for (int i = 0; i < n; i++)

cin >> v[i];

for (int i = 0; i < n; i++) {

if (este_prim(v[i]) == 0) {

sterge_elem(v, n, i);

i--;

}

}

for (int i = 0; i < n; i++)

cout << v[i] << " ";

return 0;

}

Alte întrebări interesante