Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.25 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. typedef struct{
  4.     int limit;
  5.     int hero;
  6.     int res;
  7.     int score;
  8.     size_t number;
  9. }Scores;
  10.  
  11. void sort(Scores* arr, size_t len, int v);
  12.  
  13. int main()
  14. {
  15.     size_t len;
  16.     int v;
  17.     printf("Players:\n");
  18.     scanf("%zu",&len);
  19.     Scores arr[len];
  20.     for(size_t i = 0; i < len; i++){
  21.         printf("Player %zu:\n",i+1);
  22.         printf("limit/hero/res/scores:");
  23.         scanf("\n%d %d %d %d",&arr[i].limit,&arr[i].hero,&arr[i].res,&arr[i].score);
  24.         arr[i].number = i + 1;
  25.     }
  26.     do{
  27.         printf("[1]limit\n[2]hero\n[3]res\n[4]score\n");
  28.         scanf("%d",&v);
  29.     }while(v < 1 || v > 4);
  30.     sort(arr,len,v);
  31.     for(size_t i = 0; i < len; i++){
  32.         printf("Player %zu:\n",arr[i].number);
  33.         printf("limit/hero/res/scores:");
  34.         printf("\n%d %d %d %d\n",arr[i].limit,arr[i].hero,arr[i].res,arr[i].score);
  35.     }
  36.     return 0;
  37. }
  38.  
  39. void sort(Scores* arr, size_t len, int v){
  40.     switch (v)
  41.     {
  42.     case 1:
  43.         for (size_t i = 0; i < len; i++){
  44.             for (size_t j = 0; j < len; j++){
  45.                 if(arr[i].limit > arr[j].limit){
  46.                     Scores doka3 = arr[i];
  47.                     arr[i] = arr[j];
  48.                     arr[j] = doka3;
  49.                 }
  50.             }
  51.         }
  52.         break;
  53.     case 2:
  54.         for (size_t i = 0; i < len; i++){
  55.             for (size_t j = 0; j < len; j++){
  56.                 if(arr[i].hero > arr[j].hero){
  57.                     Scores doka3 = arr[i];
  58.                     arr[i] = arr[j];
  59.                     arr[j] = doka3;
  60.                 }
  61.             }
  62.         }
  63.         break;
  64.     case 3:
  65.         for (size_t i = 0; i < len; i++){
  66.             for (size_t j = 0; j < len; j++){
  67.                 if(arr[i].res > arr[j].res){
  68.                     Scores doka3 = arr[i];
  69.                     arr[i] = arr[j];
  70.                     arr[j] = doka3;
  71.                 }
  72.             }
  73.         }
  74.         break;
  75.     case 4:
  76.         for (size_t i = 0; i < len; i++){
  77.             for (size_t j = 0; j < len; j++){
  78.                 if(arr[i].score > arr[j].score){
  79.                     Scores doka3 = arr[i];
  80.                     arr[i] = arr[j];
  81.                     arr[j] = doka3;
  82.                 }
  83.             }
  84.         }
  85.     }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement