Questo topic e' stato chiuso dal moderatore.
28/11/09 8:42
dov'è che sbaglio secondo voi??
grazie per l'aiuto....questo forum mi piace un casino
//intestazione... #include <iostream> using namespace std; const int Max = 1000;//costante di riferimento per l'array A[]. int leggi(int [], int &, int); //prototipo funzione leggi. int ordina(int [], int); //prototipo funzione ordina. int crivello(int [], int &);//prototipo funzione crivello. //MAIN-------------------------------------------------------------- int main () { int n, A[Max], idimA = 0; cout << "inserisci un numero. \n\n"; cin >> n; leggi(A, idimA, n); crivello(A, idimA); cout << "la sequenza dei numeri primi contenuti tra l'unita' e il numero inserito e':\n\n\n"; for(int i = 0; i < idimA; i++) cout << A[i] << " "; cout << endl << endl; system("pause"); return 0; } //------------------------------------------------------ //funzione che applica il concetto del crivello di Eratostene! //toglie i multipli dei numeri primi lasciando solo quest'ultimi. //(lavora sui numeri compresi tra l'unità e il numero inserito). int crivello(int A[], int & idimA) { for (int i = idimA - 1; i >= (idimA - 1)/2; i--){ for(int z = 0; z <= (idimA - 1)/2; z++) if (A[i] % A[z] == 0 && A[i] != A[z]){ A[i] = 10000; ordina(A, idimA); idimA--; break; } } return 0; } //------------------------------------------------------ //funzione che inserisce nell'array A i numeri che vanno da 2 al numero n inserito da tastiera. int leggi(int A[], int & idimA, int n) { for (int i = 0, z = 2; z < n; i++, z++) { A[i] = z; idimA++; } return 0; } //-------------------------------------------------------- //funzione che ordina l'array in modo crescente. int ordina(int A[], int idimA) { int temp = 0; for (int z = 0; z < idimA; z++) for (int i = 1; i <= idimA; i++) if (A[i - 1] > A[i]){ temp = A[i]; A[i] = A[i - 1]; A[i - 1] = temp; } return 0; }
grazie per l'aiuto....questo forum mi piace un casino