Einzelnen Beitrag anzeigen

Zyvex

Registriert seit: 14. Nov 2017
5 Beiträge
 
#1

Mein Array will sich nicht befüllen lassen

  Alt 14. Nov 2017, 16:18
Hallo erstmal.

Ich habe eine Aufgabe zu erledigen, in der es heisst ich solle Primzahlen bis zu einer gewissen obergrenze berechnen und die Anzahl der errechneten Primzahlen ausgeben. Alles kein problem und läuft auch. Allerdings ist die Aufgabenstellung, dass ich alle errechneten Primzahlen in ein entsprechendes array einspeicher und sie darüber ausgebe, wie auch die Menge der errechneten Zahlen über die Größe des arrays.

Funktioniert:
Code:
    //oS steht für obere Schranke und wird weiter oben im code von der Tastatur eingelesen
    int count = 0;
    int i;
    for(i=2; i<=oS; i++){ 
    int teiler = 2;
        while(i % teiler != 0){ 
            teiler++;
        }
        if(teiler == i){ 
            count++;
            printf("%d\n", i);
        }
    }

    printf("Es wurden insgesamt %d Primzahlen berechnet", count);
return 0;
soviel zum Primzahlenrechner.
Hier ist mein verzweifelter Versuch das alles über ein array auszugeben:

Code:
    //oS steht für obere Schranke und wird weiter oben im code von der Tastatur eingelesen
    int Primzahlen[oS];
    int count = 0;
    int i;
    for(i=2; i<=oS; i++){ 
    int teiler = 2;
        while(i % teiler != 0){ 
            teiler++;
        }
        if(teiler == i){ 
            Primzahlen[count] = i;
            printf("%d\n", Primzahlen[count]);
            count++;
        }
    }

    printf("Es wurden insgesamt %d Primzahlen berechnet", sizeof(Primzahlen[count]/sizeof(int));
return 0;
Die Idee war, die jeweils errechnete Zahl in der stelle "count" im array einzuspeichern und nachdem jegliche Arbeit in einem loop mit diesem array vollbracht ist, count um 1 zu erhöhen. Das Programm gibt zwar alle Primzahlen wie gewünscht aus, für die Größe des Arrays jedoch IMMER als 1... und ich weiß nicht wieso.

Würde mich über viele hilfreiche tipps freuen
  Mit Zitat antworten Zitat