Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <ctype.h>
  5.  
  6. typedef struct worker {
  7. char Surname[256];
  8. char Number[256];
  9. } Worker;
  10.  
  11. void WorkerSortSwap(Worker *a, Worker *b)
  12. {
  13. int sizeA = strlen(a -> Surname), sizeB = strlen(b -> Surname);
  14. int size = (sizeA > sizeB) ? sizeA : sizeB;
  15. for(int i = 0; i < size; i++) if(tolower(a -> Surname[i]) > tolower(b -> Surname[i])) {
  16. printf("A");
  17. Worker temp = *a;
  18. *a = *b;
  19. *b = temp;
  20. return;
  21. }
  22. }
  23.  
  24. void WorkerPrint(Worker *a)
  25. {
  26. printf("Surname: %s, Number: %s\n", a -> Surname, a -> Number);
  27. }
  28.  
  29. int main()
  30. {
  31. Worker *Workers = NULL;
  32. int WorkersAmount;
  33. scanf("%d", &WorkersAmount);
  34. Workers = (Worker*) malloc(WorkersAmount * sizeof(Worker));
  35. for(int i = 0; i < WorkersAmount; i++) {
  36. char tSurname[256];
  37. char tNumber[256];
  38. scanf("%255s", tSurname);
  39. scanf("%255s", tNumber);
  40. strcpy(Workers[i].Surname, tSurname);
  41. strcpy(Workers[i].Number, tNumber);
  42. }
  43. for(int i = 0; i < WorkersAmount; i++) WorkerPrint(&Workers[i]);
  44. printf("\n");
  45. for(int i = 0; i < WorkersAmount - 1; i++) for(int j = 0; j < WorkersAmount - i - 1; j++) WorkerSortSwap(&Workers[j], &Workers[j + 1]);
  46. for(int i = 0; i < WorkersAmount; i++) WorkerPrint(&Workers[i]);
  47. return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement