that_one_nigga_you_k

ajude a cbf

Dec 4th, 2023
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.98 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. typedef struct{
  6.     int gol_pro;
  7.     int gol_contra;
  8.     char nome[60];
  9.     int pontos;
  10.     int saldo;
  11.     int vitorias;
  12.     int empates;
  13.     int derrotas;
  14. }time;
  15.  
  16. int main(){
  17.  
  18.     int quantidade_jogos;
  19.  
  20.     scanf("%d", &quantidade_jogos);
  21.  
  22.     time participantes[quantidade_jogos*2];
  23.  
  24.  
  25.     for(int i = 0 ; i < quantidade_jogos; i++){
  26.         scanf("%s %d x %d %s", participantes[i*2].nome, &participantes[i*2].gol_pro, &participantes[i*2 + 1].gol_pro, participantes[2*i + 1].nome);
  27.  
  28.         participantes[2*i].gol_contra = participantes[2*i + 1].gol_pro;
  29.         participantes[2*i +1].gol_contra = participantes[2*i].gol_pro;
  30.        
  31.         participantes[2*i].saldo = participantes[2*i].gol_pro - participantes[2*i].gol_contra;
  32.         participantes[i * 2 + 1].saldo = participantes[i * 2 + 1].gol_pro - participantes[i * 2 + 1].gol_contra;
  33.  
  34.         if(participantes[2*i].saldo > 0){
  35.             participantes[2*i].pontos = 3;
  36.             participantes[2*i].vitorias = 1;
  37.             participantes[2*i].derrotas = 0;
  38.             participantes[2*i].empates = 0;
  39.         }
  40.         if(participantes[2*i].saldo == 0){
  41.             participantes[2*i].pontos = 1;
  42.             participantes[2*i].vitorias = 0;
  43.             participantes[2*i].derrotas = 0;
  44.             participantes[2*i].empates = 1;
  45.         }
  46.         if(participantes[2*i].saldo < 0){
  47.             participantes[2*i].pontos = 0;
  48.             participantes[2*i].vitorias = 0;
  49.             participantes[2*i].derrotas = 1;
  50.             participantes[2*i].empates = 0;
  51.         }
  52.  
  53.         if(participantes[2*i+1].saldo > 0){
  54.             participantes[2*i +1].pontos = 3;
  55.             participantes[2*i +1].vitorias = 1;
  56.             participantes[2*i +1].derrotas = 0;
  57.             participantes[2*i +1].empates = 0;
  58.         }
  59.         if(participantes[2*i +1].saldo == 0){
  60.             participantes[2*i +1].pontos = 1;
  61.             participantes[2*i +1].vitorias = 0;
  62.             participantes[2*i +1].derrotas = 0;
  63.             participantes[2*i +1].empates = 1;
  64.         }
  65.         if(participantes[2*i +1].saldo < 0){
  66.             participantes[2*i +1].pontos = 0;
  67.             participantes[2*i +1].vitorias = 0;
  68.             participantes[2*i +1].derrotas = 1;
  69.             participantes[2*i +1].empates = 0;
  70.         }
  71.  
  72.     }
  73.  
  74.  
  75.  
  76.     /*agora é organizar os times pelos pontos, depois pelo saldo e depois pelo nome*/
  77.     printf("\n\n");
  78.  
  79.     for(int i = 0; i < quantidade_jogos*2 -1 ; i++){
  80.        
  81.         for(int j = 0; j< quantidade_jogos*2 -1 -i; j++){
  82.             //ordenando pelos pontos
  83.             if(participantes[j].pontos < participantes[j+1].pontos){
  84.                 time temp = participantes[j];
  85.                 participantes[j] = participantes[j + 1];
  86.                 participantes[j + 1] = temp;
  87.             }
  88.             // empatou nos pontos, foi pelas vitorias
  89.             else if (participantes[j].pontos == participantes[j + 1].pontos && participantes[j].vitorias < participantes[j + 1].vitorias) {
  90.                 time temp = participantes[j];
  91.                 participantes[j] = participantes[j + 1];
  92.                 participantes[j + 1] = temp;
  93.             }
  94.  
  95.             // empatou nos pontos, foi pelo saldo
  96.             else if (participantes[j].pontos == participantes[j + 1].pontos && participantes[j].vitorias == participantes[j + 1].vitorias
  97.             && participantes[j].saldo < participantes[j+1].saldo) {
  98.                 time temp = participantes[j];
  99.                 participantes[j] = participantes[j + 1];
  100.                 participantes[j + 1] = temp;
  101.             }
  102.  
  103.             //empatou nos pontos, foi pelos gols feitos
  104.             else if (participantes[j].pontos == participantes[j + 1].pontos && participantes[j].vitorias == participantes[j + 1].vitorias
  105.             && participantes[j].saldo == participantes[j+1].saldo && participantes[j].gol_pro < participantes[j+1].gol_pro) {
  106.                 time temp = participantes[j];
  107.                 participantes[j] = participantes[j + 1];
  108.                 participantes[j + 1] = temp;
  109.             }
  110.  
  111.             else if (participantes[j].pontos == participantes[j + 1].pontos && participantes[j].vitorias == participantes[j + 1].vitorias
  112.             && participantes[j].saldo == participantes[j+1].saldo && participantes[j].gol_pro == participantes[j+1].gol_pro
  113.             && strcmp(participantes[j].nome, participantes[j+1].nome) > 0) {
  114.                 time temp = participantes[j];
  115.                 participantes[j] = participantes[j + 1];
  116.                 participantes[j + 1] = temp;
  117.             }
  118.         }        
  119.  
  120.     }
  121.  
  122.     for(int i = 0; i < quantidade_jogos*2 ; i++){
  123.         printf("%d. %s %d %d %d %d %d %d %d\n",i+1, participantes[i].nome, participantes[i].pontos, participantes[i].vitorias, participantes[i].empates,
  124.         participantes[i].derrotas, participantes[i].gol_pro, participantes[i].gol_contra, participantes[i].saldo);
  125.     }
  126.     return 0;
  127.  
  128. }
Add Comment
Please, Sign In to add comment