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ăspunsuri la întrebare
Răspuns de
0
#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;
}
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;
}
Răspuns de
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]<<' ';
}
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]<<' ';
}
Alte întrebări interesante
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă