infostud
02.12.2004, 12: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
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