Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- struct Osoba
- {
- char Meno[256], Priezvisko[256];
- struct Osoba * DalsiaOsoba;
- };
- typedef struct Osoba Student;
- int main()
- {
- Student *terajsi, * hlavicka = NULL, *dalsi;
- int i, pocet, j;
- char pom[256];
- pocet = 0;
- for(terajsi=0;terajsi==0;terajsi++);
- while(terajsi>0)
- {
- terajsi = (Student *)malloc(sizeof(Student));
- scanf("%s %s", terajsi->Meno, terajsi->Priezvisko);
- terajsi->DalsiaOsoba = hlavicka;
- if (!strcmp(terajsi->Meno, "BYE") || !strcmp(terajsi->Priezvisko, "BYE") || getchar() == EOF)
- break;
- hlavicka = terajsi;
- pocet++;
- }
- dalsi = hlavicka;
- for (i = 0; i < pocet; i++)
- {
- terajsi = hlavicka;
- for (j = 0; j < i; j++)
- {
- //printf ("Porovnavam %s a %s\ni: %d, j: %d\n", terajsi->Priezvisko, dalsi->Priezvisko, i ,j);
- if (strcmp(terajsi->Priezvisko, dalsi->Priezvisko) > 0 || (strcmp(terajsi->Priezvisko, dalsi->Priezvisko) == 0 && strcmp(terajsi->Meno, dalsi->Meno) > 0))
- {
- //printf("%s je viac ako %s\n", terajsi->Priezvisko, dalsi->Priezvisko);
- strcpy(pom, terajsi->Priezvisko);
- //printf("Pom: %s, terajsi: %s\n", pom, terajsi->Priezvisko);
- strcpy(terajsi->Priezvisko, dalsi->Priezvisko);
- //printf("terajsi: %s, dalsi: %s\n", terajsi->Priezvisko, dalsi->Priezvisko);
- strcpy(dalsi->Priezvisko, pom);
- //printf("dalsi %s, terajsi: %s\n", dalsi->Priezvisko, terajsi->Priezvisko);
- strcpy(pom, terajsi->Meno);
- strcpy(terajsi->Meno, dalsi->Meno);
- strcpy(dalsi->Meno, pom);
- //printf("Po novom %s, %s\n", terajsi->Priezvisko, dalsi->Priezvisko);
- }
- terajsi = terajsi->DalsiaOsoba ;
- }
- dalsi = dalsi->DalsiaOsoba ;
- }
- terajsi = hlavicka;
- while(terajsi) {
- printf("%s", terajsi->Meno);
- printf(" %s\n", terajsi->Priezvisko);
- dalsi = terajsi;
- terajsi = terajsi->DalsiaOsoba ;
- free(dalsi);
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment