Hallo zusammen,
ich möchte gerne ein Feld mit mehreren Zahlen von klein bis groß sortieren. Da gibt es zwar schon sozusagen fertige Programme zu, aber ich möchte gerne mein Programm selbst erstellen wegen dem Lerneffekt. Ich finde, fertige Programme auswendig lernen bringt nichts, man muss selber drauf kommen. Jetzt habe ich mein Programm geschrieben, und die Ausgabe gibt mir aber immer 0.0000000 zurück und nicht wie gewünscht das sortierte Feld. Kann mir jemand sagen, wo der Fehler liegt?
Hier mein Programm:
ich möchte gerne ein Feld mit mehreren Zahlen von klein bis groß sortieren. Da gibt es zwar schon sozusagen fertige Programme zu, aber ich möchte gerne mein Programm selbst erstellen wegen dem Lerneffekt. Ich finde, fertige Programme auswendig lernen bringt nichts, man muss selber drauf kommen. Jetzt habe ich mein Programm geschrieben, und die Ausgabe gibt mir aber immer 0.0000000 zurück und nicht wie gewünscht das sortierte Feld. Kann mir jemand sagen, wo der Fehler liegt?
Hier mein Programm:
C:
#include <stdio.h>
void sortieren ( int, float *); /*Funktionsdeklaration*/
int main()
{
int n=4; /*Feld hat 4 Zahlen*/
float f[n];
f[0]=8.1; /*Feld mit Zahlen gefüllt*/
f[1]=2.3;
f[2]=6;
f[3]=5;
sortieren (n,f); /*Funktionsaufruf*/
printf("%f\n",f[n]); /*Ausgabe des sortierten Feldes*/
return 0;
}
void sortieren (int n, float *f) /* Funktionsdefinition*/
{
int m=4; /*Index des sortierten Feldes*/
float min; /*kleinste Zahl im Feld soll min sein*/
for (m=0;m<4;m++) /*Hier soll im feld f[n] erst der kleinste wert herausgefunden werden,
und dann an die erste Stelle des Feldes f[m] gelegt werden.*/
{ for (n=0;n<4;n++)
{
if (f[n]<min)
{
min=f[m];
} }
}
return 0;
}