Programa Gerador de Tabelas Esportivas: mudanças entre as edições
De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Sem resumo de edição |
Sem resumo de edição |
||
Linha 28: | Linha 28: | ||
} | } | ||
//matamata: Função para determinar as partidas de uma eliminatória simples | //matamata: Função para determinar as partidas de uma eliminatória simples. | ||
// Recebe como parâmetro o vetor com os jogadores | // Recebe como parâmetro o vetor com os jogadores | ||
void matamata (int n, char jogadores[32][20]); | void matamata (int n, char jogadores[32][20]); | ||
Linha 48: | Linha 48: | ||
} | } | ||
//calExtra: Função auxiliar da função copa, permtindo verificar se | |||
// há jogadores extra em um grupo, quando a divisão entre | |||
// o número de jogadores e o número de grupos não é exata. | |||
int calExtra (int *mod) | int calExtra (int *mod) | ||
{ | { | ||
Linha 58: | Linha 61: | ||
} | } | ||
//copa: Função organizar a competição em grupos. | |||
// Recebe como parâmetros o número de grupos (g), número de | |||
// jogadores (n), número de classificados por grupo (nc) e | |||
// o vetor com os jogadores. | |||
void copa (int g, int n, int nc, char jogadores[32][20]) | void copa (int g, int n, int nc, char jogadores[32][20]) | ||
{ | { | ||
Linha 74: | Linha 81: | ||
fprintf(arq, "-> %d GRUPOS\n-> %d Classificados cada GRUPO\n", g, nc); | fprintf(arq, "-> %d GRUPOS\n-> %d Classificados cada GRUPO\n", g, nc); | ||
fprintf(arq, "\nCABEÇAS DE CHAVE:\n"); | fprintf(arq, "\nCABEÇAS DE CHAVE:\n"); | ||
//Os cabeças de chave são incluídos na primeira posição de cada grupo. | |||
for (i = 0; i < g; i++) //Cabeça de GRUPO | for (i = 0; i < g; i++) //Cabeça de GRUPO | ||
{ | { | ||
Linha 81: | Linha 89: | ||
fprintf(arq, "\n"); | fprintf(arq, "\n"); | ||
fclose(arq); | fclose(arq); | ||
ng = n - g; | ng = n - g; //Número total de jogadores além dos cabeças de GRUPO | ||
for (i = 0; i < ng; i++) | //Retira cabeças de GRUPO do vetor dos jogadores, | ||
//pois já foram incluídos nos respectivos grupos. | |||
for (i = 0; i < ng; i++) | |||
strcpy(jogadores[i], jogadores[i+g]); | strcpy(jogadores[i], jogadores[i+g]); | ||
embaralhar(jogadores, ng); //Embaralha restantes | embaralhar(jogadores, ng); //Embaralha restantes | ||
for (j = 0; j < g; j++) | //Monta GRUPOS, verificado através da função callExtra se | ||
//há jogadores extra em um grupo, quando a divisão entre | |||
//o número de jogadores e o número de grupos não é exata. | |||
for (j = 0; j < g; j++) | |||
{ | { | ||
extra[j] = calExtra(&mod); | extra[j] = calExtra(&mod); | ||
for (i = 0; i < ng/g + extra[j]; i++) | for (i = 0; i < ng/g + extra[j]; i++) | ||
strcpy(grupos[j][i+1], jogadores[i + offset]); | //Inclui jogadores nos grupos, além do cabeça de GRUPO | ||
strcpy(grupos[j][i+1], jogadores[i + offset]); | |||
//offset marca no vetor com os jogadores a posição do próximo | |||
//jogador a ser incluídos no próximo GRUPO. | |||
offset = offset + ng/g + extra[j]; | offset = offset + ng/g + extra[j]; | ||
arq = fopen(tabela, "a"); | arq = fopen(tabela, "a"); | ||
fprintf(arq, "\n+----------------------------------------------------+\n"); | fprintf(arq, "\n+----------------------------------------------------+\n"); | ||
fprintf(arq, "\nGRUPO %d:\n", j + 1); | fprintf(arq, "\nGRUPO %d:\n", j + 1); | ||
//Imprime os membros de cada GRUPO | |||
for (i = 0; i < n/g + extra[j]; i++) | for (i = 0; i < n/g + extra[j]; i++) | ||
fprintf(arq, "%20s\n", grupos[j][i]); | fprintf(arq, "%20s\n", grupos[j][i]); | ||
fclose(arq); | fclose(arq); | ||
//Chama a função rodízio para determinar as partidas do GRUPO | |||
rodizio (n/g + extra[j], grupos[j]); | rodizio (n/g + extra[j], grupos[j]); | ||
} | } | ||
//Finais | //Sequência de vetores de stgrings que definem a ordem dos | ||
//confrontos para as Finais, considerando o número de grupos (g) e | |||
//o número de classificados (c) por grupo. | |||
char final2g2c[][20] = {"1o Grupo 1 ________", "1o Grupo 2 ________", "2o Grupo 1 ________", "2o Grupo 2 ________"}; | char final2g2c[][20] = {"1o Grupo 1 ________", "1o Grupo 2 ________", "2o Grupo 1 ________", "2o Grupo 2 ________"}; | ||
char final2g3c[][20] = {"1o Grupo 1 ________", "1o Grupo 2 ________", "2o Grupo 1 ________", "2o Grupo 2 ________", "3o Grupo 1 ________", "3o Grupo 2 ________"}; | char final2g3c[][20] = {"1o Grupo 1 ________", "1o Grupo 2 ________", "2o Grupo 1 ________", "2o Grupo 2 ________", "3o Grupo 1 ________", "3o Grupo 2 ________"}; | ||
Linha 131: | Linha 151: | ||
matamata(g * nc, final6g2c); | matamata(g * nc, final6g2c); | ||
break; | break; | ||
case 8: | |||
matamata(g * nc, final8g2c); | matamata(g * nc, final8g2c); | ||
break; | break; | ||
Linha 168: | Linha 188: | ||
printf("\nErro, nao foi possivel abrir o arquivo\n"); | printf("\nErro, nao foi possivel abrir o arquivo\n"); | ||
else | else | ||
//Monta vetor com os jogadores | |||
while( (fscanf(arq,"%s\n", jogador))!=EOF ) | while( (fscanf(arq,"%s\n", jogador))!=EOF ) | ||
{ | { | ||
Linha 180: | Linha 201: | ||
printf("\nJOGADORES CADASTRADOS:\n"); | printf("\nJOGADORES CADASTRADOS:\n"); | ||
//Imprime jogadores cadastrados | |||
fprintf(arq, "\nJOGADORES CADASTRADOS:\n"); | fprintf(arq, "\nJOGADORES CADASTRADOS:\n"); | ||
for (i=0; i<n; i++) | for (i=0; i<n; i++) | ||
Linha 187: | Linha 209: | ||
} | } | ||
fclose(arq); | fclose(arq); | ||
//Pergunta sobre formato do sorteio | |||
printf("\nESCOLHA FORMATO DO SORTEIO: \n"); | printf("\nESCOLHA FORMATO DO SORTEIO: \n"); | ||
printf(" (R) Manter ordem de RANKING ou CABEÇAS DE CHAVE (embaralhando demais)\n"); | printf(" (R) Manter ordem de RANKING ou CABEÇAS DE CHAVE (embaralhando demais)\n"); | ||
Linha 193: | Linha 216: | ||
if (resposta == 's' || resposta == 'S') | if (resposta == 's' || resposta == 'S') | ||
embaralhar(jogadores, n); | embaralhar(jogadores, n); | ||
//Pergunta sobre formato da competição | |||
printf("\nESCOHA FORMATO DA COMPETIÇÃO: \n"); | printf("\nESCOHA FORMATO DA COMPETIÇÃO: \n"); | ||
printf(" (R) Rodízio simples (Até 5 jogadores)\n"); | printf(" (R) Rodízio simples (Até 5 jogadores)\n"); | ||
Linha 200: | Linha 224: | ||
scanf (" %c",&resposta); | scanf (" %c",&resposta); | ||
if (resposta == 'r' || resposta == 'R') | if (resposta == 'r' || resposta == 'R') | ||
//Chama função rodizio | |||
rodizio (n, jogadores); | rodizio (n, jogadores); | ||
if (resposta == 'e' || resposta == 'E') | if (resposta == 'e' || resposta == 'E') | ||
//Chama função matamata | |||
matamata(n, jogadores); | matamata(n, jogadores); | ||
if (resposta == 'c' || resposta == 'C') | if (resposta == 'c' || resposta == 'C') | ||
{ | { | ||
//Pergunta sobre número de GRUPOS | |||
printf("\n Escolha quantos GRUPOS: \n"); | printf("\n Escolha quantos GRUPOS: \n"); | ||
printf(" (2) Dois GRUPOS (Até 10 jogadores)\n"); | printf(" (2) Dois GRUPOS (Até 10 jogadores)\n"); | ||
Linha 220: | Linha 247: | ||
if (resposta == '4') | if (resposta == '4') | ||
g = 4; | g = 4; | ||
//Pergunta sobre número de classificados por GRUPO | |||
printf("\n Escolha número de classificados por GRUPO: \n"); | printf("\n Escolha número de classificados por GRUPO: \n"); | ||
printf(" (2) Dois\n"); | printf(" (2) Dois\n"); | ||
Linha 235: | Linha 263: | ||
if (resposta == '8') | if (resposta == '8') | ||
g = 8; | g = 8; | ||
//Chama função copa | |||
copa(g, n, nc, jogadores); | copa(g, n, nc, jogadores); | ||
} | } | ||
} | } | ||
//matamata: Função para determinar as partidas de uma eliminatória simples. | |||
// Recebe como parâmetro o vetor com os jogadores | |||
void matamata (int n, char jogadores[32][20]) | void matamata (int n, char jogadores[32][20]) | ||
{ | { | ||
Linha 536: | Linha 567: | ||
fprintf(arq, "\n |----+ |"); | fprintf(arq, "\n |----+ |"); | ||
fprintf(arq, "\n%20s ----+ | |", jogadores[13]); | fprintf(arq, "\n%20s ----+ | |", jogadores[13]); | ||
fprntf(arq, "\n |----+"); | |||
fprintf(arq, "\n%20s ----+ |", jogadores[5]); | fprintf(arq, "\n%20s ----+ |", jogadores[5]); | ||
fprintf(arq, "\n |----+"); | fprintf(arq, "\n |----+"); |
Edição das 18h27min de 31 de março de 2017
//Programa Gerador de Tabelas Esportivas
//Desenvolvido por Evandro Cantú
//Instituto Federal do Paraná
//Foz do Iguaçu, outubro 2016
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
//rodizio: Função para determinar as partidas de um rodízio simples,
// com todos jogando contra todos.
// Recebe como parâmetro o vetor com os jogadores
void rodizio (int n, char jogadores[32][20])
{
char tabela[] = "tabela.txt";
FILE *arq;
int c = 0;
int i, j;
arq = fopen(tabela, "a");
fprintf(arq, "\nPARTIDAS DO RODÍZIO: \n");
for (i=0;i<n;i++)
for (j=i+1;j<n;j++)
fprintf(arq, "%2d: %20s _ x _ %-20s\n", ++c, jogadores[i], jogadores[j]);
fclose(arq);
}
//matamata: Função para determinar as partidas de uma eliminatória simples.
// Recebe como parâmetro o vetor com os jogadores
void matamata (int n, char jogadores[32][20]);
//embaralhar: Função para embaralhar um vetor.
// Recebe como parâmetro o vetor com os jogadores a serem embaralhados.
void embaralhar(char vetor[32][20], int tamVetor)
{
int i;
char temp[20];
srand(time(NULL));
for (i = 0; i < tamVetor; i++)
{
int r = rand() %tamVetor;
strcpy(temp, vetor[i]);
strcpy(vetor[i], vetor[r]);
strcpy(vetor[r], temp);
}
}
//calExtra: Função auxiliar da função copa, permtindo verificar se
// há jogadores extra em um grupo, quando a divisão entre
// o número de jogadores e o número de grupos não é exata.
int calExtra (int *mod)
{
if (*mod > 0)
{
*mod = *mod - 1;
return (1);
}
return (0);
}
//copa: Função organizar a competição em grupos.
// Recebe como parâmetros o número de grupos (g), número de
// jogadores (n), número de classificados por grupo (nc) e
// o vetor com os jogadores.
void copa (int g, int n, int nc, char jogadores[32][20])
{
char tabela[] = "tabela.txt";
FILE *arq;
char grupos[8][32][20];
int i, j;
int div, mod;
div = n / g; //Número mínimo de jogadores por GRUPO
mod = n % g; //Jogador(es) extra para alocar em GRUPO(s)
int ng; //Número de jogadores além dos cabeças de GRUPO
int extra[8];
int offset = 0;
arq = fopen(tabela, "a");
fprintf(arq, "\nCOMPETIÇÃO NO FORMATO COPA: \n");
fprintf(arq, "-> %d GRUPOS\n-> %d Classificados cada GRUPO\n", g, nc);
fprintf(arq, "\nCABEÇAS DE CHAVE:\n");
//Os cabeças de chave são incluídos na primeira posição de cada grupo.
for (i = 0; i < g; i++) //Cabeça de GRUPO
{
strcpy(grupos[i][0], jogadores[i]);
fprintf(arq, " %d)%s", i+1, grupos[i][0]);
}
fprintf(arq, "\n");
fclose(arq);
ng = n - g; //Número total de jogadores além dos cabeças de GRUPO
//Retira cabeças de GRUPO do vetor dos jogadores,
//pois já foram incluídos nos respectivos grupos.
for (i = 0; i < ng; i++)
strcpy(jogadores[i], jogadores[i+g]);
embaralhar(jogadores, ng); //Embaralha restantes
//Monta GRUPOS, verificado através da função callExtra se
//há jogadores extra em um grupo, quando a divisão entre
//o número de jogadores e o número de grupos não é exata.
for (j = 0; j < g; j++)
{
extra[j] = calExtra(&mod);
for (i = 0; i < ng/g + extra[j]; i++)
//Inclui jogadores nos grupos, além do cabeça de GRUPO
strcpy(grupos[j][i+1], jogadores[i + offset]);
//offset marca no vetor com os jogadores a posição do próximo
//jogador a ser incluídos no próximo GRUPO.
offset = offset + ng/g + extra[j];
arq = fopen(tabela, "a");
fprintf(arq, "\n+----------------------------------------------------+\n");
fprintf(arq, "\nGRUPO %d:\n", j + 1);
//Imprime os membros de cada GRUPO
for (i = 0; i < n/g + extra[j]; i++)
fprintf(arq, "%20s\n", grupos[j][i]);
fclose(arq);
//Chama a função rodízio para determinar as partidas do GRUPO
rodizio (n/g + extra[j], grupos[j]);
}
//Sequência de vetores de stgrings que definem a ordem dos
//confrontos para as Finais, considerando o número de grupos (g) e
//o número de classificados (c) por grupo.
char final2g2c[][20] = {"1o Grupo 1 ________", "1o Grupo 2 ________", "2o Grupo 1 ________", "2o Grupo 2 ________"};
char final2g3c[][20] = {"1o Grupo 1 ________", "1o Grupo 2 ________", "2o Grupo 1 ________", "2o Grupo 2 ________", "3o Grupo 1 ________", "3o Grupo 2 ________"};
char final3g2c[][20] = {"1o Grupo 1 ________", "1o Grupo 2 ________", "1o Grupo 3 ________", "2o Grupo 2 ________", "2o Grupo 3 ________", "2o Grupo 1 ________"};
char final3g3c[][20] = {"1o Grupo 1 ________", "1o Grupo 2 ________", "1o Grupo 3 ________", "2o Grupo 2 ________", "2o Grupo 3 ________", "2o Grupo 1 ________", "3o Grupo 1 ________", "3o Grupo 2 ________", "3o Grupo 3 ________"};
char final4g2c[][20] = {"1o Grupo 1 ________", "1o Grupo 2 ________", "1o Grupo 3 ________", "1o Grupo 4 ________", "2o Grupo 2 ________", "2o Grupo 1 ________", "2o Grupo 4 ________", "2o Grupo 3 ________"};
char final4g3c[][20] = {"1o Grupo 1 ________", "1o Grupo 2 ________", "1o Grupo 3 ________", "1o Grupo 4 ________", "2o Grupo 2 ________", "2o Grupo 1 ________", "2o Grupo 4 ________", "2o Grupo 3 ________", "3o Grupo 2 ________", "3o Grupo 1 ________", "3o Grupo 4 ________", "3o Grupo 3 ________"};
char final6g2c[][20] = {"1o Grupo 1 ________", "1o Grupo 2 ________", "1o Grupo 3 ________", "1o Grupo 4 ________", "1o Grupo 5 ________", "1o Grupo 6 ________", "2o Grupo 4 ________", "2o Grupo 3 ________", "2o Grupo 6 ________", "2o Grupo 5 ________", "2o Grupo 1 ________", "2o Grupo 2 ________"};
char final8g2c[][20] = {"1o Grupo 1 ________", "1o Grupo 2 ________", "1o Grupo 3 ________", "1o Grupo 4 ________", "1o Grupo 5 ________", "1o Grupo 6 ________", "1o Grupo 7 ________", "1o Grupo 8 ________", "2o Grupo 2 ________", "2o Grupo 1 ________", "2o Grupo 4 ________", "2o Grupo 3 ________", "2o Grupo 6 ________", "2o Grupo 5 ________", "2o Grupo 8 ________", "2o Grupo 7 ________"};
switch (g)
{
case 2:
if (nc == 2)
matamata(g * nc, final2g2c);
if (nc == 3)
matamata(g * nc, final2g3c);
break;
case 3:
if (nc == 2)
matamata(g * nc, final3g2c);
if (nc == 3)
matamata(g * nc, final3g3c);
break;
case 4:
if (nc == 2)
matamata(g * nc, final4g2c);
if (nc == 3)
matamata(g * nc, final4g3c);
break;
case 6:
matamata(g * nc, final6g2c);
break;
case 8:
matamata(g * nc, final8g2c);
break;
}
}
void main(int argc, char *argv[])
//Arquivo com jogadores pode ser fornecido como parâmetro
{
char jogador[20];
char jogadores[32][20];
int n = 0; //número de jogadores cadastrados
int g = 0; //número de grupos
int nc = 2; //Número de classificados por GRUPO
int i;
char resposta;
int tam;
char arquivo[20];
char tabela[] = "tabela.txt";
if (argc == 1)
{
printf("\nCADASTRO DE JOGADORES\n");
printf("\nEntre com NOME DO ARQUIVO com os jogadores:\n");
fgets(arquivo, sizeof(arquivo), stdin);
tam = strlen(arquivo);
if (arquivo[tam - 1] == '\n')
arquivo[tam - 1] = '\0';
}
else
{
strcpy (arquivo, argv[1]);
}
FILE *arq;
arq = fopen(arquivo, "r");
if(arq == NULL)
printf("\nErro, nao foi possivel abrir o arquivo\n");
else
//Monta vetor com os jogadores
while( (fscanf(arq,"%s\n", jogador))!=EOF )
{
strcpy(jogadores[n], jogador);
n++;
}
fclose(arq);
arq = fopen(tabela, "w");
if(arq == NULL)
printf("\nErro, nao foi possivel abrir o arquivo\n");
printf("\nJOGADORES CADASTRADOS:\n");
//Imprime jogadores cadastrados
fprintf(arq, "\nJOGADORES CADASTRADOS:\n");
for (i=0; i<n; i++)
{
printf("%2d: %-20s\n", i + 1, jogadores[i]);
fprintf(arq, "%2d: %-20s\n", i + 1, jogadores[i]);
}
fclose(arq);
//Pergunta sobre formato do sorteio
printf("\nESCOLHA FORMATO DO SORTEIO: \n");
printf(" (R) Manter ordem de RANKING ou CABEÇAS DE CHAVE (embaralhando demais)\n");
printf(" (S) SORTEAR e embaralhar TODOS os jogadores\n");
scanf (" %c",&resposta);
if (resposta == 's' || resposta == 'S')
embaralhar(jogadores, n);
//Pergunta sobre formato da competição
printf("\nESCOHA FORMATO DA COMPETIÇÃO: \n");
printf(" (R) Rodízio simples (Até 5 jogadores)\n");
printf(" (E) Eliminatória simples (Até 16 jogadores)\n");
if (n >= 6 && n <= 32)
printf(" (C) Copa: Grupos + Fase Final (De 6 a 32 jogadores)\n");
scanf (" %c",&resposta);
if (resposta == 'r' || resposta == 'R')
//Chama função rodizio
rodizio (n, jogadores);
if (resposta == 'e' || resposta == 'E')
//Chama função matamata
matamata(n, jogadores);
if (resposta == 'c' || resposta == 'C')
{
//Pergunta sobre número de GRUPOS
printf("\n Escolha quantos GRUPOS: \n");
printf(" (2) Dois GRUPOS (Até 10 jogadores)\n");
printf(" (3) Três GRUPOS (De 9 a 12 jogadores)\n");
printf(" (4) Quatro GRUPOS (De 12 a 17 jogadores)\n");
printf(" (6) Seis GRUPOS (De 18 a 24 jogadores)\n");
printf(" (8) Oito GRUPOS (De 24 a 32 jogadores)\n");
scanf (" %c",&resposta);
if (resposta == '2' || resposta == '3'|| resposta == '4')
{
if (resposta == '2')
g = 2;
if (resposta == '3')
g = 3;
if (resposta == '4')
g = 4;
//Pergunta sobre número de classificados por GRUPO
printf("\n Escolha número de classificados por GRUPO: \n");
printf(" (2) Dois\n");
printf(" (3) Três\n");
scanf (" %c",&resposta);
if (resposta == '2')
nc = 2;
if (resposta == '3')
nc = 3;
}
if (resposta == '4')
g = 4;
if (resposta == '6')
g = 6;
if (resposta == '8')
g = 8;
//Chama função copa
copa(g, n, nc, jogadores);
}
}
//matamata: Função para determinar as partidas de uma eliminatória simples.
// Recebe como parâmetro o vetor com os jogadores
void matamata (int n, char jogadores[32][20])
{
char tabela[] = "tabela.txt";
FILE *arq;
arq = fopen(tabela, "a");
fprintf(arq, "\n+----------------------------------------------------+\n");
fprintf(arq, "\nPARTIDAS ELIMINATÓRIAS: \n");
switch (n)
{
case 2:
fprintf(arq, "\n%20s ----+", jogadores[0]); //1---+
fprintf(arq, "\n |----+"); // |----+
fprintf(arq, "\n%20s ----+\n", jogadores[1]); //2---+
break;
case 3:
fprintf(arq, "\n%20s ---------+", jogadores[0]); //1-------+
fprintf(arq, "\n |----"); // |---
fprintf(arq, "\n%20s ----+ |", jogadores[1]); //2---+ |
fprintf(arq, "\n |----+"); // |----+
fprintf(arq, "\n%20s ----+\n", jogadores[2]); //3---+
break;
case 4:
fprintf(arq, "\n%20s ----+", jogadores[0]); //1---+
fprintf(arq, "\n |----+"); // |---+
fprintf(arq, "\n%20s ----+ |", jogadores[3]); //4---+ |
fprintf(arq, "\n |----"); // |---
fprintf(arq, "\n%20s ----+ |", jogadores[1]); //2---+ |
fprintf(arq, "\n |----+"); // |---+
fprintf(arq, "\n%20s ----+\n", jogadores[2]); //3---+
break;
case 5:
fprintf(arq, "\n%20s ---------+", jogadores[0]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ | |", jogadores[3]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ |----\n", jogadores[4]);
fprintf(arq, " | ");
fprintf(arq, "\n%20s ----+ |", jogadores[1]);
fprintf(arq, "\n |---------+");
fprintf(arq, "\n%20s ----+\n", jogadores[2]);
break;
case 6:
fprintf(arq, "\n%20s ---------+", jogadores[0]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ | |", jogadores[3]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ |----\n", jogadores[4]);
fprintf(arq, " | ");
fprintf(arq, "\n%20s ---------+ |", jogadores[1]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ |", jogadores[2]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ \n", jogadores[5]);
break;
case 7:
fprintf(arq, "\n%20s ---------+", jogadores[0]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ | |", jogadores[3]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ |\n", jogadores[4]);
fprintf(arq, " |---");
fprintf(arq, "\n%20s ----+ |", jogadores[1]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ | |", jogadores[6]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ |", jogadores[2]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+\n", jogadores[5]);
break;
case 8:
fprintf(arq, "\n%20s ----+", jogadores[0]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ |", jogadores[7]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ | |", jogadores[3]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ |\n", jogadores[4]);
fprintf(arq, " |----");
fprintf(arq, "\n%20s ----+ |", jogadores[1]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ | |", jogadores[6]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ |", jogadores[2]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+\n", jogadores[5]);
break;
case 9:
//matamata 5
fprintf(arq, "\n%20s ---------+", jogadores[0]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ | |", jogadores[7]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ |----\n", jogadores[8]);
fprintf(arq, " | ");
fprintf(arq, "\n%20s ----+ |", jogadores[3]);
fprintf(arq, "\n |---------+");
fprintf(arq, "\n%20s ----+\n", jogadores[4]);
//matamata 4
fprintf(arq, "\n%20s ----+", jogadores[1]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ |", jogadores[6]);
fprintf(arq, "\n |----");
fprintf(arq, "\n%20s ----+ |", jogadores[2]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+\n", jogadores[5]);
break;
case 10:
//matamata 5
fprintf(arq, "\n%20s ---------+", jogadores[0]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ | |", jogadores[7]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ |----", jogadores[8]);
fprintf(arq, "\n | ");
fprintf(arq, "\n%20s ----+ |", jogadores[3]);
fprintf(arq, "\n |---------+");
fprintf(arq, "\n%20s ----+\n", jogadores[4]);
//matamata 5
fprintf(arq, "\n%20s ---------+", jogadores[1]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ | |", jogadores[6]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ |----", jogadores[9]);
fprintf(arq, "\n | ");
fprintf(arq, "\n%20s ----+ |", jogadores[2]);
fprintf(arq, "\n |---------+");
fprintf(arq, "\n%20s ----+\n", jogadores[5]);
break;
case 11:
//matamata 5
fprintf(arq, "\n%20s ---------+", jogadores[0]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ | |", jogadores[7]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ |----", jogadores[8]);
fprintf(arq, "\n | ");
fprintf(arq, "\n%20s ----+ |", jogadores[3]);
fprintf(arq, "\n |---------+");
fprintf(arq, "\n%20s ----+\n", jogadores[4]);
//matamata 6
fprintf(arq, "\n%20s ---------+", jogadores[1]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ | |", jogadores[6]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ |----", jogadores[9]);
fprintf(arq, "\n | ");
fprintf(arq, "\n%20s ---------+ |", jogadores[2]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ |", jogadores[5]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ \n", jogadores[10]);
break;
case 12:
//matamata 6
fprintf(arq, "\n%20s ---------+", jogadores[0]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ | |", jogadores[7]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ |----", jogadores[8]);
fprintf(arq, "\n |");
fprintf(arq, "\n%20s ---------+ |", jogadores[3]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ |", jogadores[4]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+\n", jogadores[11]);
//matamata 6
fprintf(arq, "\n%20s ---------+", jogadores[1]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ | |", jogadores[6]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ |----", jogadores[9]);
fprintf(arq, "\n | ");
fprintf(arq, "\n%20s ---------+ |", jogadores[2]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ |", jogadores[5]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ \n", jogadores[10]);
break;
case 13:
//matamata 7
fprintf(arq, "\n%20s ---------+", jogadores[0]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ | |", jogadores[7]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ |", jogadores[8]);
fprintf(arq, "\n |---");
fprintf(arq, "\n%20s ----+ |", jogadores[3]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ | |", jogadores[12]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ |", jogadores[4]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+\n", jogadores[11]);
//matamata 6
fprintf(arq, "\n%20s ---------+", jogadores[1]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ | |", jogadores[6]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ |----", jogadores[9]);
fprintf(arq, "\n | ");
fprintf(arq, "\n%20s ---------+ |", jogadores[2]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ |", jogadores[5]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ \n ", jogadores[10]);
break;
case 14:
//matamata 7
fprintf(arq, "\n%20s ---------+", jogadores[0]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ | |", jogadores[7]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ |", jogadores[8]);
fprintf(arq, "\n |---");
fprintf(arq, "\n%20s ----+ |", jogadores[3]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ | |", jogadores[12]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ |", jogadores[4]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+\n", jogadores[11]);
//matamata 7
fprintf(arq, "\n%20s ---------+", jogadores[1]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ | |", jogadores[6]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ |", jogadores[9]);
fprintf(arq, "\n |---");
fprintf(arq, "\n%20s ----+ |", jogadores[2]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ | |", jogadores[13]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ |", jogadores[5]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+\n", jogadores[10]);
break;
case 15:
//matamata 7
fprintf(arq, "\n%20s ---------+", jogadores[0]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ | |", jogadores[7]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ |", jogadores[8]);
fprintf(arq, "\n |---");
fprintf(arq, "\n%20s ----+ |", jogadores[3]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ | |", jogadores[12]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ |", jogadores[4]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+\n", jogadores[11]);
//matamata 8
fprintf(arq, "\n%20s ----+", jogadores[1]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ |", jogadores[14]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ | |", jogadores[6]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ |", jogadores[9]);
fprintf(arq, "\n |----");
fprintf(arq, "\n%20s ----+ |", jogadores[2]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ | |", jogadores[13]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ |", jogadores[5]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+\n", jogadores[10]);
break;
case 16:
//matamata 8
fprintf(arq, "\n%20s ----+", jogadores[0]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ |", jogadores[15]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ | |", jogadores[7]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ |", jogadores[8]);
fprintf(arq, "\n |----");
fprintf(arq, "\n%20s ----+ |", jogadores[3]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ | |", jogadores[12]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ |", jogadores[4]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+\n", jogadores[11]);
//matamata 8
fprintf(arq, "\n%20s ----+", jogadores[1]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ |", jogadores[14]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ | |", jogadores[6]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ |", jogadores[9]);
fprintf(arq, "\n |----");
fprintf(arq, "\n%20s ----+ |", jogadores[2]);
fprintf(arq, "\n |----+ |");
fprintf(arq, "\n%20s ----+ | |", jogadores[13]);
fprntf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+ |", jogadores[5]);
fprintf(arq, "\n |----+");
fprintf(arq, "\n%20s ----+\n", jogadores[10]);
break;
fclose(arq);
}
}