Komischer return-Wert
-
Hallo Leute, ich bins wieder .
Also ich hab ein prog führ Primfaktorzerlegung geschrieben und es funzt auch.
Einziges Problem: Der return-wert.anstatt 0 bekomm ich irgendne riesenzahl.
Hier mal der source:
#include <stdio.h> #include <math.h> int main(void) { int y = 2, k = 1, i = 0, zahl = 0, var = 0, e[100], array[10] = { 2, 3, 5, 7, 11, 13, 17, 19 }; printf("Bitte geben sie die Zahl ein aus der der die Primfaktoren gewonnen werden sollen\n"); scanf("%i", &zahl); y = 0; for (var = zahl;; y++) { if (var % array[i] == 0) { var = var / array[i]; e[y] = array[i]; printf("%i\n", e[y]); i = 0; } else { i++; } ; } printf("erfolgreich\n"); getchar(); return 0; }
Wär toll wenn ihr mir helfen köntet. Danke im Voraus.
[edit by c.rackwitz: code durchs indent gehetzt. mancher ruebenacker sieht ordentlicher aus... ]
-
Ich glaube der Fehler ist im Schleifenkopf nur ich weiss nicht wie ich die Bedingung gescheit formulieren soll.
-
Ok es tut mir Leid, hab nach längerem rumprobieren, herausgefunden dass da for (var=zahl;var<=1;y++)reinghört was ich vorher schon mal probiert hab aba ned geklappt hat.
Sorry...
-
ok, doch nicht, jetzt würde der return wert passen aba die primzahlen werden nicht geprinted.
-
ok, gelöst und bevor ich mich noch mehr blamiere bitte thread löschen, thx
-
c-newling schrieb:
ok, gelöst und bevor ich mich noch mehr blamiere bitte thread löschen, thx
Wozu? Dann sehen wir wenigstens, das wir nicht die einzigen sind,
die sich auch mal schwer tun.