Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <ctype.h>
- typedef struct worker {
- char Surname[256];
- char Number[256];
- } Worker;
- void WorkerSortSwap(Worker *a, Worker *b)
- {
- int sizeA = strlen(a -> Surname), sizeB = strlen(b -> Surname);
- int size = (sizeA > sizeB) ? sizeA : sizeB;
- for(int i = 0; i < size; i++) if(tolower(a -> Surname[i]) > tolower(b -> Surname[i])) {
- printf("A");
- Worker temp = *a;
- *a = *b;
- *b = temp;
- return;
- }
- }
- void WorkerPrint(Worker *a)
- {
- printf("Surname: %s, Number: %s\n", a -> Surname, a -> Number);
- }
- int main()
- {
- Worker *Workers = NULL;
- int WorkersAmount;
- scanf("%d", &WorkersAmount);
- Workers = (Worker*) malloc(WorkersAmount * sizeof(Worker));
- for(int i = 0; i < WorkersAmount; i++) {
- char tSurname[256];
- char tNumber[256];
- scanf("%255s", tSurname);
- scanf("%255s", tNumber);
- strcpy(Workers[i].Surname, tSurname);
- strcpy(Workers[i].Number, tNumber);
- }
- for(int i = 0; i < WorkersAmount; i++) WorkerPrint(&Workers[i]);
- printf("\n");
- for(int i = 0; i < WorkersAmount - 1; i++) for(int j = 0; j < WorkersAmount - i - 1; j++) WorkerSortSwap(&Workers[j], &Workers[j + 1]);
- for(int i = 0; i < WorkersAmount; i++) WorkerPrint(&Workers[i]);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement