+ Antworten
Ergebnis 1 bis 3 von 3

"Sortierfunktion in C/C++"

Diskussion über "Sortierfunktion in C/C++" in C und C++ der Kategorie Programmierung; Hallo kann mir jemande in diese Aufgabe helfen ??? Gegeben sei die folgende Datenstruktur für Speicherung von Studentendaten typedef struct ...

  1. #1
    Reg.-Benutzer
    Reg.-Datum
    01.02.2012
    Beiträge
    2

    Standard "Sortierfunktion in C/C++"

    Hallo kann mir jemande in diese Aufgabe helfen ???

    Gegeben sei die folgende Datenstruktur für Speicherung von Studentendaten
    typedef struct {
    char Name[20];
    unsigned long Matrikelnummer;
    } StudentT;
    wowie eine Funktion compareByName, die zwei Studentendatensätze s1 und s2 nach
    dem Namen vergleicht. Die Funktion liefert einen Wert < 0 zurück, falls der Name von s1
    kleiner ist als der von s2, 0 falls die Namen gleich sind und einen Wert > 0 falls Name von
    s2 größer als der von s1.
    int compareByName(StudentT s1, StudentT s2){
    return strcmp(s1.Name, s2.Name);
    }

    1. Definieren Sie eine Funktion sortStudents, welche ein Array von StudentTElementen
    nach einem durch eine „Call-Back“-Funktion vorgegebenes Vergleichskriterium sortiert.
    Der Funktion sollen drei Parameter übergeben werden: s = zu sortierendes Array von
    Studenten, n = Anzahl Elemente des Arrays und cmp = Zeiger auf eine
    Vergleichsfunktion mit einer Signatur entsprechend den obigen Vergleichsfunktionen.
    Verwenden Sie für die Implementierung einen Sortieralgorithmus Ihrer Wahl.

    2. Schreiben Sie ein Hauptprogramm, in dem ein (kleines, mindestens drei Elemente
    umfassendes) Array von Studenten definiert und initialisiert wird. Notieren Sie die
    Anweisungen um dieses Array mit Hilfe der Funktion sortStudents nach Name bzw.
    nach Matrikelnummer zu sortieren.

    danke für Ihre Hilfe

  2. #2
    Reg.-Benutzer
    Reg.-Datum
    01.02.2012
    Beiträge
    2

    Standard

    für 1)-->

    #include <stdlib.h>

    int compareByName(const void* _s1, const void* _s2)
    {

    if (*s1 > *s2) return1;
    else
    if(*s1 == *s2) return 0;
    else return -1;
    }

    void Student()
    {
    char* s=studentT;
    qsort((void*) s,20,sizeof(s[0]),compareByName);

    }
    ???

  3. #3
    Moderator
    Anwendungssoftware, Novell/sonst.OS
    Hardware, Mobile Devices
    Avatar von Chief Wiggum
    Reg.-Datum
    12.02.2001
    Ort
    Essen, NRW
    Beiträge
    18.796

    Standard

    Sollen wir jetzt deine Hausaufgaben machen?
    And all those exclamation marks, you notice? Five? A sure sign of someone who wears his underpants on his head.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 31.05.2006, 08:56
  2. Antworten: 3
    Letzter Beitrag: 10.04.2006, 11:30
  3. Umbenennung dieses Forums in "Fragen rund um das Board" + neues Forum "Sitenews"
    Von StefanE im Forum Fragen und Anregungen zum Board
    Antworten: 0
    Letzter Beitrag: 28.01.2006, 11:11
  4. Antworten: 2
    Letzter Beitrag: 14.04.2005, 19:25
  5. "0" und "1" statt "FALSCH" und "WAHR" (VB)
    Von Technician im Forum Delphi/RPG+CL/Sonstige
    Antworten: 1
    Letzter Beitrag: 18.06.2001, 14:02

Die häufigsten Suchbegriffe für diese Seite:

Bisher noch keine Treffer von einer Suchmaschine