Προς το περιεχόμενο

C++ Μία διόρθωση στον κώδικα μου


jim17

Προτεινόμενες αναρτήσεις

Δημοσ.

Το παλεύω 2 εβδομάδες περίπου, μου είχε πέσει σε πρόοδο στην σχολή μου,

χάλια έγραψα αλλά έχω πεισμώσει. Είναι το κόσκινο του Ερατοσθένη, το έφτασα ως εδώ κι έχω κολλήσει.Aν σας έρθει καμιά ιδέα για τον κώδικα μεταξύ των ///// χωρίς αλλαγή του υπολοιπου κώδικα θα ήμουν ευγνώμων στο forum.

Ευχαριστώ εκ των προτέρων!

 

 

>
#include <iomanip>
#include <iostream>
#include <cmath>

using namespace std;
const int megethos =400;

void sieve (bool[], int);
void print (bool[], int);
int main()
{
bool isPrime[megethos]={0};
sieve(isPrime,megethos);
print(isPrime,megethos);
}
void sieve(bool isPrime[],int n)
{
/////////////////////////////////////////////////////////////////////////////

for(int i=0;i<megethos;i++){ // arxikopoio ola ta isPrime[i] se true
isPrime[i]=true;
}

isPrime[0]=false; // theto ta 0 kai 1 se false
isPrime[1] = false;


for(int i = 5; i<megethos; i+=2) // exoterikos
for(int j=3; j<sqrt(i); j++) // esoteriko
{
if(isPrime[j] % isPrime[i] == 0) // exetazo to ypoloipo
isPrime[i]=true; // mipos isPrime[i]=0;
else
isPrime[i]=false;
}



system("pause");
}

///////////////////////////////////////////////////////////////////////////////
void print(bool a[], int n){
for(int i=1; i<n; i++)
if(a[i])
cout << setw(3)<<i;
else
cout<<setw(3)<<(i%20==0?'\n':' ');

}

Δημοσ.

Χίλια ευχαριστώ ρε φίλε, να'σαι καλά. Δούλεψε!!!

Και πάλι ευχαριστώ πολύ, μα με είχε αγανακτήσει.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...