1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Alles
  • Alles
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. AlexW

Beiträge von AlexW

Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • qsort problem

    • AlexW
    • 17. April 2009 um 20:51

    Guten Abend zusammen

    Ich habe ein kleines Problem mit der qsort Funktion
    bin ziemlicher Einsteiger beim Programmieren und gerade mit einer qsort-Funktion beschäftigt die Dateiinhalte sortieren soll nun tritt folgendes Problem auf:

    C
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    
    int sort_down(const void *p1, const void *p2)
    {
       return (strcmp(* (char * const *) p1, * (char * const *) p2) )* -1;
    }
    
    
    int sort_up(const void *p1, const void *p2)
    {
       return strcmp(* (char * const *) p1, * (char * const *) p2);
    }
    
    
    int
    main(int argc, char *argv[])
    {
        int j;
    
    
       qsort(&argv[1], argc - 1, sizeof(char *), sort_up);         //aufsteigend sortieren
       //qsort(&argv[1], argc - 1, sizeof(char *), sort_down);    //absteigend
    
    
       for (j = 1; j < argc; j++)
            puts(argv[j]);
        exit(EXIT_SUCCESS);
    }
    Alles anzeigen
    C
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define ANZ 5
    
    
    static int
    sort(const void *p1, const void *p2)
    {
    
    
       return strcmp(* (char * const *) p1, * (char * const *) p2);
    }
    
    
    int
    main()
    {
       int i;
       char array[ANZ];
    
    
        array[0] = 7;   
        array[1] = 5;
        array[2] = 2;
        array[3] = 3;
        array[4] = 1;
    
    
           qsort(array, ANZ, sizeof(char *), sort);
    
         for (i = 0; i < ANZ; i++)
            printf("%c\n", array[i]);
    
        exit(EXIT_SUCCESS);
    }
    Alles anzeigen


    1) Ich kann über Argumentzeile Zahlen und Buchstaben auf und absteigend sortieren (Code 1)
    wieso funktioniert das nicht mit einem Array (Code 2)

    2) Wie sortier ich überhaupt eine Datei? Speicher ich den Dateiinhalt in ein Array das ich dann sortiere oder geht das auch einfacher?


    bin für jeden Vorschlag dankbar

    mfg Alex

  1. Datenschutzerklärung
  2. Impressum