PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Spaltenbildung geht nicht



infostud
02.12.2004, 11:27
Hallo,

ich habe hier ein einfaches Programm und ein dummes Problem

#include <stdio.h>

int main()
{
int x[5];
int i=0, temp, last, d;

printf("\033[2J");
printf("Werte eingeben, ende mit -1\n");
do
{
scanf("%d", &x[i]);
i++;
}while(i<5 && x[i-1] != -1);

if(i==5)
last=i-1;
else
last=i-2;
if(i>2)
{
printf("Eingegebene Werte:\n");
for(i=0; i<=last; i++)
{
printf("%d\t", x[i]);
if(i && (!(i%5)))
printf("\n");
}
printf("\n\nArray sortiert:\n");
for(d=last; d != 0; d--)
{
for(i=0; i<last; i++)
{
if(x[i]>x[i+1])
{
temp=x[i];
x[i]=x[i+1];
x[i+1]=temp;
}
}
for(i=0; i<last+1; i++)
{
printf("%d\t", x[i]);
if(((i+1)%5)==0)
printf("\n");
}
}
}

return 0;
}


Die Spaltenbildung funktioniert einfach nicht bei der Ausgabe.
Kann sich das jemand mal anschauen und kompilieren, mir berichten, woran der Fehler liegt. Die Bedingung if(((i+1)% 5)==0) müsste eigentlich korrekt sein.

MfG

PicNick
02.12.2004, 11:52
Nun, die Moduloanweisungen sehen für mich koscher aus
Tip: erweitere die printf um ein %d für i , dann siehst du gleich, wie der Hase läuft
oder bau gleich noch ein %d für die Bedingung auch ein
"%d ...." (i%5), ... Verständlich ?
Vielleicht überseh auch ich was..... mfg robert