Hier hätten auch i und j gereicht (einfach i in mehreren Schleifen benutzen).
Ein ganzes Array mit 0 initialisieren geht so:
Code:
int prime[LIMIT] = { 0 };
Warnung: Wenn du folgendes schreibst, sind
nicht alle Elemente 1: ... = { 1 };
Stattdessen ist das erste Element 1 und der Rest 0. (Rest wird immer auf 0 gesetzt bei dieser Initialisierungsart.)
Hier ist auch ein logischer Fehler: Erstmal muss es
j % k heißen, um zu sehen, ob j durch k teilbar ist und danach musst du auch prime[j] auf 1 setzen und nicht prime[k].
Noch ein logischer Fehler: Nicht jede Primzahl ist auch ein Primfaktor und du willst ja den größten Primfaktor und nicht die größte Primzahl finden ...
Aber schreib ruhig erstmal weiter ein Programm, dass Primzahlen findet und ausgibt - das ist auch eine gute Übung
Lesezeichen