Hab aus Langeweile ein kleines Programm geschrieben, in welches man ein paar Zahlen eingibt, und diese Sortiert angezeigt bekommt. Zumindest in der Theorie.
In der Praxis kommt bei Zeile 45(hier nun gekenntzeichnet mit --->) "C_Projekt funktioniert nicht mehr" und ich weiß nicht wieso.
Code:
#include<stdio.h>
#include<conio.h>
int main()
{
double x[1000];//Einlesen aller Zahlen
double y[1000];//Sortierte Zahlen
int i=0;//zähler für for-Schleifen
int i2=0;//weiterer zähler für for-schleifen
int abbruch=1;//bei 0: Abbruch der Einleseschleife
int akt_hoechste=0;//Speicher für die höchste zahl im aktuellen Sortierdurchlauf.
for(i=0; i<1000; i++)
{
x[i]=0; //Alle Elemente in x=0
}
for(i=0; i<1000; i++)
{
y[i]=0; //Alle Elemente in y=0
}
printf("Zahlen sortieren\n"
"Geben sie beliebig viele Zahlen ein(außer 0).\n"
"Druecken sie nach jeder Zahl Enter.\n"
"Beenden der Eingabe: Tippen sie statt einer Zahl einen beliebigen Buchstaben.\n");
//Einlesen:
for(i=0; i>=0; i++)
{
abbruch=scanf("%lf",&x[i]);
if(abbruch==0)
{
break;
}
}
//ließt nacheinander Werte in x ein. Bei erfolglosem Lesen wird abgebrochen.
//Sortieren
for(i=0; i>=0; i++)//i entspricht dem Element in y
{
for(i2=0; i2>=0; i2++) //i2 entspricht dem Element in x
{
---> if(x[i2]>y[i])
{
y[i]=x[i2];//Wert aus x wird in y geschrieben
akt_hoechste=i2;
}
}
x[akt_hoechste]=0;//Der Wert der in y verbleibt, wird gelöscht/auf 0 gesetzt
}
//Ausgeben
for(i=0; i>=0; i++)
{
printf("%lf\n",x[i]);
}
//Beenden
printf("Druecken sie eine beliebige Taste zum beenden.\n");
char ende=getch();
return 0;
}
Für Kommentare bezüglich Codestrukturierung, Kommentierung, etc. bin ich ebenfalls dankbar.