Informatică, întrebare adresată de IoanaLover, 9 ani în urmă

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 mariaselma22
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