quersumme berechnen



  • Hallo
    Kann mir bitte einer erklären warum das Programm nicht funktioniert.
    Bleibt immer nach den einlesen der zahlen hängen.

    #include <stdio.h>

    int main()
    {

    int array[5];
    int i;
    int quersumme;

    printf("Bitte 5 zahlen eingeben");

    for(i=0;i<5;i++)
    {
    scanf("%d",&array[i]);
    }

    for(i=0;i<5;i++)
    {
    while(array[i]>0)
    {
    quersumme=quersumme+array[i]%5;
    array[i]/10;
    }
    array[i]=quersumme;
    quersumme=0;
    }

    for(i=0;i<5;i++)
    {
    printf("%i",array[i]);
    }
    return 0;
    }

    mfg nix



  • Nix77 schrieb:

    array[i]/10;

    Diese Anweisung ändert array[i] nicht.



  • Danke für die rasche hilfe.
    Dadurch ergiebt sich ja eine endlosschleife.

    so bast es nun
    array[i]=array[i]/10;



  • ⚠ Beachte die Warnungen von deinem Compiler.

    Wenn du keine bekommst, schalte sie ein.



  • DirkB schrieb:

    Wenn du keine bekommst, schalte sie ein.

    Mhm, und wenn man danach immer noch keine bekommt? 😉



  • Es werden mir eigentlich alle Fehler angezeigt, nur dieser nicht.

    Weiß aber auch nicht ob das irgenwie einstellbar ist. Ich benutze den qt creator.

    mfg Nix77



  • Da sollte eine Warnung kommen bei quersumme=quersumme+array[i]%5;
    In der Art: "Zugriff auf Variable ohne Initialisierung"
    Du liest quersumme aus ohne vorher etwas reingeschrieben zu haben.

    Nein, sie wird nicht automatisch mit 0 initialisiert.



  • #include <stdio.h>
    
    int main(void)
    {
        int array[5];
        int i;
        int quersumme = 0;
    
        printf("Bitte 5 Zahlen eingeben:\n");
    
        for(i = 0; i < 5; i++)
        {
            printf("%i: ", i+1);
            scanf("%d", array + i);
        }
    
        for(i = 0; i < 5; i++) {
    
            while(array[i] > 0) {
    
                quersumme = quersumme + array[i] % 10;
                array[i] /= 10;
            }
    
            array[i] = quersumme;
            quersumme = 0;
        }
    
        printf( "\n\nQuersummen:\n");
        for(i = 0; i < 5; i++) {
            printf("%i: %i\n", i + 1, array[i]);
        }
    }
    

Anmelden zum Antworten