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 2 la puterea 30
asta am scris eu:puteti sa modificati?
#include
using namespace std;
int p,n,i,v[1100],j,k;
int main(){
cin>>n;
for(i=1;i<=n;i++){
cin>>v[i];
}
for(i=1;i<=n;i++){
for(j=1;j<=v[i]/j&&k!=1;j++)
if(v[i]%j==0)
k++;
if(k==0)
v[i]=v[i+1];
n--;
i--;
}
for(i=1;i<=n;i++){
cout<
}
}
Răspunsuri la întrebare
Răspuns de
1
#include <stdio.h>
#include <iostream>
using namespace std;
int p,n,i,v[1100],j,k;
int main(){
cin>>n;
for(i=1;i<=n;i++){
cin>>v[i];}
for(i=1;i<=n;i++){
k=1;//contor
for(j=2;j<=v[i]/2;j++) //ca sa fie mai exact poti sa scrii sqrt(v[i])
if(v[i]%j==0)
k=0;
if(k==0)
{for (j=i;j<n;j++)//luam j de la i fiindca i este pozitia ce trebuie stearsa
// pana la n-1 fiindca indicele v[j+1] trebuie sa fi maxim v[n]
v[j]=v[j+1];
n--;
i--;
}
}
for(i=1;i<=n;i++){
cout<<v[i]<<" ";
}
}
IoanaLover:
mersi mult, chiar am inteles
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă