Sector1379
07-12-2005, 21:59
Hallo
Ich stehe nun seit Stunden vor einem Problem. Ich soll per Insertion Sort eine Struktur sortieren. Die folgenden Aufbau hat:
struct liste{
char name[30],
vorname[30],
wohnort[30],
gebdat[30];
int matrikelnummer,
plz,
fachbereich;
}student[100];
Nun habe ich die Aufgabe eine Funktion zu schreiben die es möglich macht dem Benutzer wählen zu lassen nach welchen Kreterium er sortieren will.
zusätzlich muß ich diese Insertion Sort Funktion so abändern das es damit möglich ist die Struktur zu Sortieren.
Hier die Fuktion, ich habe aber schon ein paar Sachen eingebaut.
Aber leider ohne erfolg.
void insertionSort(int *studi, int anzahl) {
int i, x, j;
for (i = 1; i <= anzahl; i++) {
x = (int) studi;
j = i - 1;
while ((j >= 0) && (x < studi[j])) {
studi[j + 1] = studi[j];
j = j - 1;
}
studi[j + 1] = x;
}
return;
}
Und hier meine Auswahl Funktion so wie ich sie Aufbauen wollte:
void auswahl(int anzahl){
char wahl;
printf("\n Nach welchem Kreterium soll sortiert werden??\n");
printf("* (N)ame\n");
printf("* (V)orname\n");
printf("* (W)ohnort\n");
printf("* (G)eburtsdatum\n");
printf("* (M)atrikelnummer\n");
printf("* (P)ostleitzahl\n");
printf("* (F)achbereich\n");
printf("Bitte treffen sie Ihre Wahl:");
scanf("%s", &wahl);
switch(toupper(wahl)){
case 'N':
// insertionSort(&student->name,anzahl);
break;
case 'M':
insertionSort(&student->matrikelnummer,anzahl);
break;
}
}
Aber leider ist das auch nicht so ganz richtig was ich da an die Insertion Sort Funktion übergebe.
Hoffentlich kann mir jemand helfen, denn ich sehe zur Zeit den Wald vor lauter Bäumen nicht.
Gruß
Sector1379
Ich stehe nun seit Stunden vor einem Problem. Ich soll per Insertion Sort eine Struktur sortieren. Die folgenden Aufbau hat:
struct liste{
char name[30],
vorname[30],
wohnort[30],
gebdat[30];
int matrikelnummer,
plz,
fachbereich;
}student[100];
Nun habe ich die Aufgabe eine Funktion zu schreiben die es möglich macht dem Benutzer wählen zu lassen nach welchen Kreterium er sortieren will.
zusätzlich muß ich diese Insertion Sort Funktion so abändern das es damit möglich ist die Struktur zu Sortieren.
Hier die Fuktion, ich habe aber schon ein paar Sachen eingebaut.
Aber leider ohne erfolg.
void insertionSort(int *studi, int anzahl) {
int i, x, j;
for (i = 1; i <= anzahl; i++) {
x = (int) studi;
j = i - 1;
while ((j >= 0) && (x < studi[j])) {
studi[j + 1] = studi[j];
j = j - 1;
}
studi[j + 1] = x;
}
return;
}
Und hier meine Auswahl Funktion so wie ich sie Aufbauen wollte:
void auswahl(int anzahl){
char wahl;
printf("\n Nach welchem Kreterium soll sortiert werden??\n");
printf("* (N)ame\n");
printf("* (V)orname\n");
printf("* (W)ohnort\n");
printf("* (G)eburtsdatum\n");
printf("* (M)atrikelnummer\n");
printf("* (P)ostleitzahl\n");
printf("* (F)achbereich\n");
printf("Bitte treffen sie Ihre Wahl:");
scanf("%s", &wahl);
switch(toupper(wahl)){
case 'N':
// insertionSort(&student->name,anzahl);
break;
case 'M':
insertionSort(&student->matrikelnummer,anzahl);
break;
}
}
Aber leider ist das auch nicht so ganz richtig was ich da an die Insertion Sort Funktion übergebe.
Hoffentlich kann mir jemand helfen, denn ich sehe zur Zeit den Wald vor lauter Bäumen nicht.
Gruß
Sector1379