Ich versuche, die Anzahl der Nullen zu zählen, die in einem Array von Nullen und Einsen vorkommen. Wenn die Hälfte des Arrays 0 ist, behalte ich es. Wenn nicht, ändere ich es. Ich fange aus Bequemlichkeit an der 2. Ziffer (Index 1) zu zählen. Ich bin nicht mit Index 0 beschäftigt und zähle es nicht. Ich bin nicht sicher, warum ich eine Endlosschleife mit diesem bekommen .. könnte es die Gleichheit innicht sicher, warum dies eine Endlosschleife zurückgibt
if (z == 4){
g = 1;
}
#include "stdlib.h"
#include "stdio.h"
int main(){
int i, j, z, g;
z = 0;
int ar[9] = {0,0,0,0,0,0,0,0,0};
g = 0;
while(!g){
for(i = 1; i < 9; i++){
printf("%d", ar[i]);
if (ar[i] == 0){
z++;
}
}
if (z == 4){
g = 1;
}
else {
for (i = 1; i < 5; i++){
ar[i] = 0;
}
for (i = 5; i < 9; i++){
ar[i] = 1;
}
}
}
printf("\n %d", z);
return 0;
}
'anderes zu verstehen {' -> 'else {z = 0; ' – BLUEPIXY
kümmert sich das sonst nicht um dieses Problem? wenn die else-Anweisung funktioniert, wäre es 4 .. – shoestringfries
nein, denn wenn z! = 4 du gehst in die for-Schleifen, aber z ist schon> 4, also wirst du nie erreichen (g = 1) – CIsForCookies