Arrays sortiren
-
Hallo ich will ein Array von der Groesse 30 sortiren lassen doch ihrgenwie bekomme ich das nicht hin oder ich bin ihrgenwie zu blöd dazu den algoritmuss zu
verstehen warscheinlich auch da ich das Programm am freitag abliegfern muss und ich nicht erst noch große verstehens versuche machen kannAlso hier ist der Sortialgorutmuss
void bubbleSort(int numbers[], int array_size) { int i, j, temp; for (i = (array_size - 1); i >= 0; i--) { for (j = 1; j <= i; j++) { if (numbers[j-1] > numbers[j]) { temp = numbers[j-1]; numbers[j-1] = numbers[j]; numbers[j] = temp; } } } }
und ich will aber das
C[30]
sortiren lassen wie übergebe ich denn nun die werte
zur info habe das C[] globall deklariertich weis bin ein übelster anfänger und stelle bestimmt echt dumme fragen
-
... warum bas Array nummer keine Größenangaben besitz
für hilfe wäre ich sehr verbunden
-
Der Alg. gibt mir net wie gewünscht die 3 Größten werte aus
#include <stdio.h> #include <stdlib.h> int main(void) { int q; /* Das Array zum Sortieren */ int test_array[10] ; test_array[0]=12; test_array[1]=77;test_array[2]=1; test_array[3]=3;test_array[4]=2;test_array[5]=100; test_array[6]=22;test_array[7]=7;test_array[8]=10; test_array[9]=8; //Sortiren des Arrys int array; int elemente ; int i,temp; while(elemente--) for(i = 1; i <= elemente; i++) if(test_array[i-1] > test_array[i]) { temp=test_array[i]; test_array[i]=test_array[i-1]; test_array[i-1]=temp; } // Ausgabe der Größten drei Arrys printf("%d , %d , %d ", test_array[7],test_array[8],test_array[9]); printf("\n"); system ("PAUSE"); return EXIT_SUCCESS; }
[code]
Was fehlt den noch ich finde ihrgenwie den fehler net
Bitte um hilfe.
-
Lichtenauer schrieb:
Hallo ich will ein Array von der Groesse 30 sortiren lassen doch ihrgenwie bekomme ich das nicht hin oder ich bin ihrgenwie zu blöd dazu den algoritmuss zu
verstehenNicht nur den Algorithmus. Offenbar auch Deutsch
-
Hi,
einfach mit qsort sortieren.
[code]#include <stdio.h>
#include <stdlib.h>int compare (const void * a, const void * b)
{
return ( (int)a - (int)b );
}int main(void) {
int q;
/* Das Array zum Sortieren */
int test_array[10] ;
test_array[0]=12; test_array[1]=77;test_array[2]=1;
test_array[3]=3;test_array[4]=2;test_array[5]=100;
test_array[6]=22;test_array[7]=7;test_array[8]=10;
test_array[9]=8;//Sortiren des Arrys
qsort(test_array,10,sizeof(int),compare);
// Ausgabe der Größten drei Arrys
printf("%d , %d , %d ", test_array[9],test_array[8],test_array[7]);
printf("\n");
//system ("PAUSE");
return EXIT_SUCCESS;
}[code]