if abfrage verändert array element?



  • Hallo!

    Ich habe mal als Programmier-newbie eine Frage. ich soll ein programm erstellen das mit dem Sieb des Erastosthenes Primzahlen aus einer Zahlenmenge (max.1000) heraussortiert.

    Ich habe also ein bool array mit 1000 elementen erstellt, das komplett mit nullen initialisiert. Dann lasse ich eine Obergrenze eingeben. Dann wird der angegebene Bereich, also von 2 bis n geeinst, also jeweils eine 1 reingeschrieben. Jetzt lasse ich eine Schleife darüberlaufen die alle vielfachen elemente von 2 wieder nullt. Wenn ich direkt nach dieser schleife mit einer ein- und ausgabe kontrolliere welche elemente 0 und 1 sind, dann stimmt alles: gitter[0]=false, gitter[1]=false, gitter[2]=true, ... , gitter[4]=0, gitter[5]=true usw... . Ich möchte am ende des programms aber dann alle array elemente anezigen lassen die auf "true" stehen. Sobald ich aber schreibe

    b=0;
    while (b<n)
    {
    if (gitter[b]=true)
        cout <<b;
        b=b+1;
    else
        b=b+1;
        continue;
    }
    

    zeigt er mir ALLE Elemente von 0 bis n an und zwar jedes einzelne auch wenn es vorher durch die schleife genullt wurde. Ich kann mir das nicht erklären und wiess auch nicht wie ich das sonst darstellen soll. Wäre für jede schnelle hiulfe sehr dankbar da ich das genze morgen schon abgeben muss

    Jeffe



  • Ok ein Freund hats mir schon gesagt ... ich habe nur ein = anstatt == benutzt ... naja bin wie gesagt noch newbie ... 🙂


Anmelden zum Antworten