Salve a tutti,
ho problemi con l'implementazione dell'algoritmo del crivello di Eratostene.
Mi si chiede di creare un array di primi 100 numeri primi e mi risulta parecchio difficile. Posto il codice scritto finora anche se non è completo.
codice:
//Programma che determina i primi 100 numeri primi
#include <iostream>
#include <stdlib.h>
#include <iomanip>
using namespace std;
int main () {
const int size = 100;
int a[size];
for(int i=1;i<=size;i++){ //creo array di elementi inizializzati a 1
a[i]=1;
for(int j=2;j<=size;j++){ //j setaccia l'array
if(j%i==0){ //cerca i numeri primi
a[j]=0; // e pone gli elementi dell'array pari a zero se sono multipli
}
}
cout << setw(7) <<i << setw(13) << a[i] <<endl;
}
system("Pause");
return 0;
}
Praticamente non riesco nemmeno a cercare gli elementi dell'array che hanno per indici i numeri primi per poi compattarlo. Il problema, credo, sia nella condizione del ciclo for controllato da j..
.
Cos'è che mi sfugge??