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]); } }