Zahlen der Grösse nach ordnen.



  • Hallo,
    Ich habe ein Problem in meinem Code:
    (Er spuckt immer nur die kleinste Zahl aus)

    #include <iostream>

    using namespace std;

    int main()
    {
    int schritte = 0;
    const int n = 10;
    int liste[n] = { 5, 8, 99, 54, 2, 6, 33, 4, 10, 23};
    int listeCopy[n];
    int copyIndex = 0;
    int tmp = liste[0];

    cout << "UNSORTIERT: \n";
    for( int i = 0; i < n; i++ )
    {
    cout << liste[i] << " ";
    }

    cout << endl;

    while(copyIndex < n)
    {
    for( int i=0; i<n; i++ )
    {
    if(liste[i] < tmp)
    tmp = liste[i];
    }
    liste[copyIndex++] = tmp;
    }

    cout << "SORTIERT: \n";
    for( int i = 0; i < n; i++ )
    {
    cout << liste[i] << " ";
    }

    cout << endl;

    system ( "PAUSE" );

    fflush(stdin);
    getchar();
    return 0;

    Bitte um HILFEEE!
    Danke 🙂



  • 1. Benutze mal Code tags mit Einrückung
    2. cout? Falsches Forum!
    3. fflush(stdin); --> *seufz*
    4. std::sort?



  • Klaéiner Tipp vorher: Poste das ganze Mal im Code Format, also so:

    Dad is der Code
    

    Bevor sich wieder gewisse Leute aufregen, is nur mein Tipp 🙂



  • Sieht wie ein halbherziger Bubblesort Algorithmus aus.

    Erstens fällt mir auf, dass du keine Zahlen vertauschst sondern nur gnadenlos überschreibst.

    Zweistens müsste, so vermute ich, der Index der inneren Sortierschleife bei copyIndex beginnen.


Log in to reply