for (j = 1; j < x; j++)
{
for (n = 1; n < x; n++)
{
if (strcmp(info[n - 1].lname, info[n].lname) > 0)
{
strcpy(t, info[n - 1].lname);
strcpy(info[n - 1].lname, info[n].lname);
strcpy(info[n].lname, t);
}
}
}
for (j=0; j < x; j++)
{
printf("\n-------------------------------------------------------------------------\n");
printf("ID number: %d", info[j].ID);
printf("\nName: %s %s", info[j].fname, info[j].lname);
printf("\nClass: %d%s", info[j].form, info[j].classname);
printf("\nSymptons: %s", info[j].symptom);
printf("\nPrescription: %s", info[j].symadmin);
printf("\n-------------------------------------------------------------------------\n");
}
Guten Tag alles, ich habe versucht, dies für einige jetzt zu arbeiten. Ich möchte ein Array von String nach Nachnamen sortieren. Die Sache ist, der Nachname ist sortiert, aber die begleitenden Daten wie ID, fname, Klasse usw. sind nicht mit dem Nachnamen sortiert. nur der Nachname ändert die Position.So sortieren Sie eine Zeichenfolge in einem Array in C?
Wie kann ich das korrigieren? Vielen Dank im Voraus.
EDIT: Kann ich vielleicht die Implementierung, anstatt Worte sehen.
Wenn Sie den Nachnamen ändern, müssen Sie auch andere Einträge in den entsprechenden Nachnamen ändern. – ameyCU
@ameyCU Und wie mache ich das, Sir? – user4630535
Wenn Sie Array in Ihren Strukturen und nicht Zeiger haben, dann können Sie Strukturvariable direkt zuweisen und sie austauschen _ (_ **, aber im Falle von Zeigern müssen Sie alle manuell tun ** _). – ameyCU