C Programm, das Zahlen sortiert

#1
Hallo Zusammen,

ich möchte ein C programm schreiben, das Zahlen sortiert.
Dazu muss ich den folgenden Sortieralgorithmus verwenden:

[für i=1,...........,n bestimme das kleinste Element a(s) der Folge a(i)........... a(n)
wenn s !=i dann
vertausche a(s) und a(i).]

Ich habe die Logik , die die kleinste Zahl bestimmt, geschrieben. Aber ich weiß nicht, wie ich weitervorgehen kann und den Sortieralgorithmus verwenden.
#include <stdio.h>
int main()
{ double x[10];
double min;
int i;
for (i=0; i<10; i++)
{
scanf("%lf\n",&x);
}
min=x[0];
for (i=1; i<10; i++)
{
if(min>x)
min=x;
}
printf("small %lf \n", min);
return 0;
}

Könnt ihr mir bitte helfen ?

vielen Dank
 

German

Well-Known Member
c-b Experte
#2
Kannst du bitte deine Code formatiert posten (</> Symbol im Editor). Keine Ahnung an welchen Stellen die Forensoftware nun das [i] rausgeworfen hat...
 
#3
Kannst du bitte deine Code formatiert posten (</> Symbol im Editor). Keine Ahnung an welchen Stellen die Forensoftware nun das [i] rausgeworfen hat...
Code:
#include <stdio.h>
#include <stdlib.h>

int main()
{   double x[3];
    double min;
    int i;
   for (i=0; i<3; i++)
    {
    scanf("%lf\n",&x[i]);
    }
    min=x[0];
    for (i=1; i<3; i++)
    {
        if(min>x[i])
          min=x[i];

    }
    printf("small %lf \n", min);
    return 0;
}
 
#5
Funktioniert doch super. Der einzige Unsinn ist das \n in der scanf Funktion.
Dieses Programm ist aber nur der erste Schritt in der Anwendung des Sortieralgorithmus
Ich muss den folgenden Sortieralgorithmus verwenden , um die Zahlen in Array aufsteigend zu sortieren.

[für i=1,...........,n bestimme das kleinste Element a(s) der Folge a(i)........... a(n)
wenn s !=i dann
vertausche a(s) und a(i).]

Ich weiß nicht, wie ich weitervorgehen kann und den Sortieralgorithmus verwenden. 250px-Selsort_de_0.gif
 

German

Well-Known Member
c-b Experte
#6
Wenn du die Elemente zweier Indizes tauschen sollst, musst du natürlich auch den Index des jeweils kleinsten Wertes wissen. Anders gesagt, das s taucht in deinem Code gar nicht auf. Fang mal damit an.
 
Oben