Zahlenreihe sortieren



  • Hi,
    ich habe folgendes Problem:
    Ich möchte eine Zahlenreihe im Array sortieren. Also habe ich 2 Schleifen erstellt, womit ich alle Zahlen miteinander vergleichen kann. Aber bei der ersten Zahl wird garnichts vertauscht.

    Beispiel: Ich will 3,4,2,6 sortieren lassen. Bei mir kommt aber folgendes Ergebnis: 3,3,4,6.

    #include <stdio.h>
    
    void main(void)
    {
    	int zahlenreihe[]={3,4,2,6};
    	for(int z=0; z<4;z++)
    	{
    
    	for(int i=0; i<(4-1); i++)
    	{
    		if(zahlenreihe[i]>zahlenreihe[i+1])
    		{
    			int zwischenspeicher=zahlenreihe[i];
    			zahlenreihe[i]=zahlenreihe[i+1];
    			zahlenreihe[i+1]=zwischenspeicher;
    		}
    
    	}
    			printf("Zahlenreihe: %d \n",zahlenreihe[z]);
    	}
    getchar();
    
    }
    

    Was muss ich tun, damit es richtig funktioniert? Es sollte möglichst simpel gehalten sein, da ich mich gerade erst mit C/C++ befasse. Ich danke euch schonmal im vorraus!

    mfg idrulez



  • Machs so. erst sortieren dann ausgeben.

    #include <stdio.h>
    
    void main(void)
    {
        int zahlenreihe[]={3,4,2,6};
        for(int z=0; z<4;z++) {
            for(int i=0; i<(4-1); i++) {
                if(zahlenreihe[i]>zahlenreihe[i+1]) {
                    int zwischenspeicher=zahlenreihe[i];
                    zahlenreihe[i]=zahlenreihe[i+1];
                    zahlenreihe[i+1]=zwischenspeicher;
                }
            }
        }
        for(int z=0; z<4;z++) 
           printf("Zahlenreihe: %d \n",zahlenreihe[z]);
    }
    

    Dann solltest du dich entscheiden ob das C oder C++ sein soll ( jetzt isses gar nix ).
    Kurt


Anmelden zum Antworten