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. 😃


Anmelden zum Antworten