Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- typedef struct{
- int gol_pro;
- int gol_contra;
- char nome[60];
- int pontos;
- int saldo;
- int vitorias;
- int empates;
- int derrotas;
- }time;
- int main(){
- int quantidade_jogos;
- scanf("%d", &quantidade_jogos);
- time participantes[quantidade_jogos*2];
- for(int i = 0 ; i < quantidade_jogos; i++){
- 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);
- participantes[2*i].gol_contra = participantes[2*i + 1].gol_pro;
- participantes[2*i +1].gol_contra = participantes[2*i].gol_pro;
- participantes[2*i].saldo = participantes[2*i].gol_pro - participantes[2*i].gol_contra;
- participantes[i * 2 + 1].saldo = participantes[i * 2 + 1].gol_pro - participantes[i * 2 + 1].gol_contra;
- if(participantes[2*i].saldo > 0){
- participantes[2*i].pontos = 3;
- participantes[2*i].vitorias = 1;
- participantes[2*i].derrotas = 0;
- participantes[2*i].empates = 0;
- }
- if(participantes[2*i].saldo == 0){
- participantes[2*i].pontos = 1;
- participantes[2*i].vitorias = 0;
- participantes[2*i].derrotas = 0;
- participantes[2*i].empates = 1;
- }
- if(participantes[2*i].saldo < 0){
- participantes[2*i].pontos = 0;
- participantes[2*i].vitorias = 0;
- participantes[2*i].derrotas = 1;
- participantes[2*i].empates = 0;
- }
- if(participantes[2*i+1].saldo > 0){
- participantes[2*i +1].pontos = 3;
- participantes[2*i +1].vitorias = 1;
- participantes[2*i +1].derrotas = 0;
- participantes[2*i +1].empates = 0;
- }
- if(participantes[2*i +1].saldo == 0){
- participantes[2*i +1].pontos = 1;
- participantes[2*i +1].vitorias = 0;
- participantes[2*i +1].derrotas = 0;
- participantes[2*i +1].empates = 1;
- }
- if(participantes[2*i +1].saldo < 0){
- participantes[2*i +1].pontos = 0;
- participantes[2*i +1].vitorias = 0;
- participantes[2*i +1].derrotas = 1;
- participantes[2*i +1].empates = 0;
- }
- }
- /*agora é organizar os times pelos pontos, depois pelo saldo e depois pelo nome*/
- printf("\n\n");
- for(int i = 0; i < quantidade_jogos*2 -1 ; i++){
- for(int j = 0; j< quantidade_jogos*2 -1 -i; j++){
- //ordenando pelos pontos
- if(participantes[j].pontos < participantes[j+1].pontos){
- time temp = participantes[j];
- participantes[j] = participantes[j + 1];
- participantes[j + 1] = temp;
- }
- // empatou nos pontos, foi pelas vitorias
- else if (participantes[j].pontos == participantes[j + 1].pontos && participantes[j].vitorias < participantes[j + 1].vitorias) {
- time temp = participantes[j];
- participantes[j] = participantes[j + 1];
- participantes[j + 1] = temp;
- }
- // empatou nos pontos, foi pelo saldo
- else if (participantes[j].pontos == participantes[j + 1].pontos && participantes[j].vitorias == participantes[j + 1].vitorias
- && participantes[j].saldo < participantes[j+1].saldo) {
- time temp = participantes[j];
- participantes[j] = participantes[j + 1];
- participantes[j + 1] = temp;
- }
- //empatou nos pontos, foi pelos gols feitos
- else if (participantes[j].pontos == participantes[j + 1].pontos && participantes[j].vitorias == participantes[j + 1].vitorias
- && participantes[j].saldo == participantes[j+1].saldo && participantes[j].gol_pro < participantes[j+1].gol_pro) {
- time temp = participantes[j];
- participantes[j] = participantes[j + 1];
- participantes[j + 1] = temp;
- }
- else if (participantes[j].pontos == participantes[j + 1].pontos && participantes[j].vitorias == participantes[j + 1].vitorias
- && participantes[j].saldo == participantes[j+1].saldo && participantes[j].gol_pro == participantes[j+1].gol_pro
- && strcmp(participantes[j].nome, participantes[j+1].nome) > 0) {
- time temp = participantes[j];
- participantes[j] = participantes[j + 1];
- participantes[j + 1] = temp;
- }
- }
- }
- for(int i = 0; i < quantidade_jogos*2 ; i++){
- 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,
- participantes[i].derrotas, participantes[i].gol_pro, participantes[i].gol_contra, participantes[i].saldo);
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment