👤

Cerinţa

Se dă un vector cu n elemente numere naturale. Să se șteargă din vector toate elementele care sunt numere prime.
Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii, reprezentând elementele vectorul.
Date de ieşire

Programul afișează pe ecran, separate prin spații, elementele vectorului obținut prin ștergerea elementelor prime.
Restricţii şi precizări

0 < n ≤ 1000
elementele vectorului vor fi mai mici decât 230


Exemplu

Intrare

5
7 8 9 17 1

Ieșire

8 9 1





#include

using namespace std;

int nr_nepr(int x)
{
int d;
if(x==0)
return 0;
if(x==1)
return 1;
if(x==2)
return 0;
if(x%2==0)
return 1;
for(d=3;d*d<=x;d+=2)
if(x%d==0)
return 1;
return 0;
}

int main()
{
int v[1001],w[1001],n,i,k=0;
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
for(i=1;i<=n;i++)
if(nr_nepr(v[i]))
w[++k]=v[i];
for(i=1;i<=k;i++)
cout< return 0;
}


Răspuns :

#include <iostream>

using namespace std;

bool prim(int n)
{
if(n == 1)
return false;
for(int i = 2; i * i <= n; i++)
if(n % i == 0)
return false;
return true;
}

int main()
{
int n, a[100];
cin >> n;
for(int i = 0; i < n; i++)
cin >> a[i];
for(int i = 0; i < n; i++) {
if(prim(a[i])) {
for(int j = i; j < n - 1; j++) {
a[j] = a[j + 1];
}
n--;
}
}
for(int i = 0; i < n; i++)
cout << a[i] << " ";
return 0;
}
#include <iostream>
using namespace std;

//O functie care verifica daca un numar
//e prim sau nu. va returna true daca e
//sau false daca nu e. bool e un tip de
//variabila care returneaza doar true
//sau false (ca sa nu mai folosesti int)
int prim(int x)
{
bool prim=true;
for(int d=2;d<=x/2;d++)
{
if(x%d==0)
prim=false;
}
return prim;
}
int main()
{
//declaram n si vectorul cu 1000
//elemente (lungimea lui n max)
int n,v[1000];
//citim n
cin>>n;
//citim vectorul
for(int i=0;i<n;i++)
cin>>v[i];
//parcurgem vectorul
for(int i=0;i<n;i++)
{
//se verifica daca fiecare nr din
//vector e prim sau nu
if(prim(v[i])==true)
//daca da, atunci parcurge
//iarasi vectorul pt a putea
//sterge elementul mutand
//tot sirul de la dreapta la
//stanga cu 1 pozitie
for(int j=i;j<n;j++)
v[j]=v[j+1];
//scazi si lungimea maxima
n--;
//ultimul element necitit
//trebuie pus NULL neaparat
v[n]=NULL;
}
//afisam noul vector
for(int i=0;i<n;i++)
cout<<v[i]<<' ';
}
Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți alte întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag să reveniți și nu uitați să ne salvați în lista de favorite!


Ze Teaching: Alte intrebari