Problem mit Array befüllen
-
Naja, wenn ich den Array größe 8 gesetzt hätte, würde da 9 stehen und da es keinen Wert 9 gibt kann er auch schlecht mit einem Wert vergleichen
meine idee wäre, das ganze so zu schreiben:bubble(int array[z], int size) { int a, b,temp; for (a = 0; a < size; a++) { for (b = 1; b < size; b++) { if (array[a] > array[b]) { int temp = array[b]; array[b] = array[a]; array[a] = temp; } } } for(z=0;z<size;z++){ printf("%i ",array[z] ); } }
Doch auch das führt mich aufs selbe problem zurück
-
PlaZm0 schrieb:
er setzt halt nur die höchste zahl ein letzte stelle, mehr aber auch nicht, der rest verschiebt sich einfach auf links
das kann doch eigentlich garnicht sein?void bubble(int array[z], int size) { int a, b,temp; for (a = 0; a < size; a++) { for (b = 0; b < size; b++) { if (array[a] > array[a + 1]) { int temp = array[a]; array[a] = array[a + 1]; array[a + 1] = temp; } } } }
Weil du "size -i -1" schreiben musst, damit er das letzte Element nicht mehr mitsortiert... außerdem deklarierst du temp 2 mal. Du solltest dir die vorherigen Posts genauer anschauen, weil dort siehst du was du falsch machst.
-
oh man, das ist mir jetzt glatt ien bisschen peinlich, hab den code bei mir im programm echt total falsch zusammengebastelt, was sehen sich j und i auch so verdammt ähnlich :S
Gut dass du es mir nochmal so gesagt hast, hab dann nochmal genauer hingeguckt
Vielen Vielden Dank!!!
Ihr habt mir echt RIESIG geholfen :D!!!
glaub jetzt hab ich auch fast alles zusammen ^^