Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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);

}

???

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...