Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
funktion umschreiben

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
vanilla.coffee
Gast





BeitragVerfasst am: 08. Jun 2007 17:10   Titel: funktion umschreiben

hi,
wie bekomme ich es hin, dass die Funktion double-Werte sortiert und nicht nur int-Werte?
int zu double machen funktioniert nicht.

danke im Voraus.

Code:

void quicksort(int feld[MAX], int left, int right) {
    int rightpos = feld[right];
    int l = left;
    int r = right;
   
    if(left < right) {
        do {
            while(feld[l] < rightpos) l++;
            while(feld[r] > rightpos) r--;
           
            if (l <= r) {
                int swap = feld[l];
                feld[l] = feld[r];
                feld[r] = swap;
                l++;
                r--;
            }
        }
        while(l <= r);
        quicksort(feld, left, r);
        quicksort(feld, l, right);
    }
}
 

Lateralus
prolinux-forum-admin


Anmeldungsdatum: 05.05.2004
Beiträge: 1238

BeitragVerfasst am: 09. Jun 2007 10:20   Titel:

Du musst einfach alle int durch double ersetzen (außer die, die zur Indizierung des Arrays fungieren). Übrigens solltest du das "double swap" nicht in der while-Schleife deklarieren - dann wird sie immer wieder neu deklariert.

Code:

void quicksort(double feld[MAX], int left, int right) {
    double rightpos = feld[right];
    int l = left;
    int r = right;
   
    if(left < right) {
        do {
            while(feld[l] < rightpos) l++;
            while(feld[r] > rightpos) r--;
           
            if (l <= r) {
                double swap = feld[l];
                feld[l] = feld[r];
                feld[r] = swap;
                l++;
                r--;
            }
        }
        while(l <= r);
        quicksort(feld, left, r);
        quicksort(feld, l, right);
    }
}
 
Benutzer-Profile anzeigen Private Nachricht senden

Quietscheentchen
Gast





BeitragVerfasst am: 09. Jun 2007 10:22   Titel:

Außerdem musst du alles als "char" deklarieren und eine Funktion "string zufallszahl" implementieren.

Gruß,
das Quietscheentchen
 

vanilla.coffee
Gast





BeitragVerfasst am: 09. Jun 2007 12:26   Titel:

Danke für den Tipp.
Das Programm bricht aber immer noch mit "Speicherzugriffsfehler" ab.

Habe keine Ahnung warum.
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy