Sortieren einer Zahlenreihe?!
-
Hallo,
wie sortiere ich eine Zahlenreihe ohne die Array-Funktionen??
Danke schon mal...
Anne
-
Die Frage ist zu unpräzise.
-
mit der bibliotheksfunktion qsort [1] und einer vergleichsfunktion geht das.
[1] http://www.dinkumware.com/manuals/reader.aspx?b=c/&h=stdlib.html#qsort
-
Ich würde mal sagen, kleinste Zahl suchen, und nach ganz vorn tun. Jetzt zweitkleinste und an zweite Stelle usw. Geht natürlich noch viel anders und schneller.
Bye, TGGC (Das Jahr des Helden)
-
@ TGGC|_work
Vielen Dank...so haben wir uns das auch gedacht, aber wie suche ich nach der kleinsten Zahl?
@all: Wir haben über den Zufallsgenerator 7 Zahlen erhalten und wollen diese nun sortieren.
Grüße Anne
-
-
Anne schrieb:
@ TGGC|_work
Vielen Dank...so haben wir uns das auch gedacht, aber wie suche ich nach der kleinsten Zahl?
Ich merke mir die erste Zahl. Jetzt schaue ich mir die nächste Zahl an. Ist die kleiner als die gemerkte, merke ich mir die. Und so weiter.
Bye, TGGC (Das Jahr des Helden)
-
Vielleicht nützt dir ja das was
#include<stdio.h> //Funktion Sortieren durch direktes(paarweises) Austauschen(Bubblesort) int sort_diraustausch(const int n, int a[100],FILE *aus) { int i, j,x, k=1; for (i=1; i<n;i++) { if (k!=0) { for (j=n-1;j>=i;j--) { k=0; if (a[j-1]>a[j]) { x=a[j-1]; //Tausch von a[j-1] und a[j] a[j-1]=a[j]; a[j]=x; k++; } } printf(" %d- ter Schritt: ",i); fprintf(aus," %d- ter Schritt: ",i); for(j=0; j<n;j++) { printf(" %d",a[j]); fprintf(aus," %d",a[j]); } printf("\n\n"); fprintf(aus,"\n"); } } return (a[100]); } //Hauptprogramm void main() { int k1=0, n1=0, a1[100]; printf("Bitte geben Sie nacheinander ganze Zahlen ein !\n"); printf("Bestaetigen Sie nach jedem Wert ENTER \n"); printf("Beenden Sie mit 999\n"); do { scanf("%d",&a1[k1]); k1++; } while (a1[k1-1]!=999); n1=k1-1; FILE *aus; aus=fopen("C:\\testdaten\\sortdiraustausch.txt","w"); printf("\n\n\n Ausgangssituation vor der Sortierung:\n\n"); fprintf(aus,"\n Ausgangssituation vor der Sortierung:\n\n"); for (k1=0; k1<n1;k1++) { printf(" %d",a1[k1]); fprintf(aus," %d",a1[k1]); } printf("\n\n\n"); fprintf(aus,"\n"); sort_diraustausch(n1,a1,aus); printf("\n\n Endergebnis der Sortierung:\n\n"); fprintf(aus,"\n\n Endergebnis der Sortierung:\n\n"); for (k1=0; k1<n1;k1++) { printf(" %d",a1[k1]); fprintf(aus," %d",a1[k1]); } printf("\n\n\n"); fprintf(aus,"\n\n\n"); fclose(aus); }