AtivCopaDoMundoSemArquivoProImperativ

 avatar
unknown
c_cpp
2 years ago
18 kB
7
Indexable
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

typedef struct{
    char nome[20];
    int posicao_copa;
}Selecoes;

typedef struct{
    int golsfeitos, golstomados, saldodegols,pontos,somagols;
    int somasaldo, somatomados;
    char grupos[20];
    int posicao;
    int vaga;
    
}FaseGrupo;

typedef struct{
    int golsfeitos, golstomados;
    char classificados[20];
    int posicao;
    
}MataMata;



int main() {
    
    MataMata matamata[16];
    Selecoes grupos[4][8];
    Selecoes selecoes[32];
    FaseGrupo fasegrupo[8][4];
    char nomes[32][20]={ " Catar","Equador","Holanda","Senegal","EstadosUnidos","Inglaterra","Irã","PaísdeGales","Argentina","ArábiaSaudita","México","Polônia","França","Dinamarca","Tunísia","Austrália","Espanha","Alemanha","Japão","CostaRica","Bélgica","Canadá","Marrocos","Croácia","Brasil","Sérvia","Suíça","Camarões","Portugal","Gana","Uruguai","CoreiadoSul"};
    
    
    int i=0,j,igual,superl=0,l,c, aux, sorte,indice_menor,linha,troca,cont=0;
    char auxchar[20];
    
    
    
    for(l=0;l<32;l++){
        strcpy(selecoes[l].nome,nomes[l]);
        
    }
    
    
    
    printf("\n********Sorteio da Copa do Mundo***********\n");
    
    
    
    
    srand(time(NULL));
    
    
    
    do{
        selecoes[i].posicao_copa=rand()%32;
        igual=0;
        for(j=0;j<i;j++){
            if(selecoes[j].posicao_copa==selecoes[i].posicao_copa){
                igual=1;
            }
        }
            if(igual==0){
                i++;
            }

            }while(i<32);
            
        for(i=0;i<32;i++){
            printf("\n%s\n",selecoes[i].nome);
            printf("%d ", selecoes[i].posicao_copa);
    
            
        }
        
        for(i=0;i<32;i++){
            printf("\n%s\n",selecoes[i].nome);
            printf("%d ", selecoes[i].posicao_copa);
            
        }
        
        for(l=0;l<32;l++){
            for(c=l;c<32;c++){
            if (selecoes[l].posicao_copa>selecoes[c].posicao_copa){
                aux=selecoes[l].posicao_copa;
                selecoes[l].posicao_copa=selecoes[c].posicao_copa;
                selecoes[c].posicao_copa=aux;
                
                strcpy(auxchar,selecoes[l].nome);
                strcpy(selecoes[l].nome,selecoes[c].nome);
                strcpy(selecoes[c].nome,auxchar);
            }
            }
        }
        printf("\n*************************************\n");
        printf("\n*********Arrumação númerica:***********");
        for(i=0;i<32;i++){
            printf("\n%s\n",selecoes[i].nome);
            printf("%d ", selecoes[i].posicao_copa);
            
        }
        
        
        for(l=0;l<8;l++){
            for(c=0;c<4;c++){
                strcpy(fasegrupo[l][c].grupos,selecoes[superl].nome);
                superl++;
            }
        }
        
        
        printf("\n*************************************\n");
        printf("\n******* Organizando em grupos******** \n");
        
        for(l=0;l<8;l++){
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<4;c++){
               printf("\n%s",fasegrupo[l][c].grupos);
            }
        }
        
        printf("\n*************************************\n");
        printf("\n*******Partidas dos grupos********* \n");
        
    //zerar instancias:    
        for(l=0;l<8;l++){
          
            for(c=0;c<4;c++){
               fasegrupo[l][c].pontos=0;
               fasegrupo[l][c].somagols=0;
               fasegrupo[l][c].somatomados=0;
               fasegrupo[l][c].somasaldo=0;
               fasegrupo[l][c].vaga=0;
            }
        }
        //zerar instancias até aqui
        
        for(l=0;l<8;l++){
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<3;c++){
                for(i=c+1;i<4;i++){
                
                fasegrupo[l][c].golsfeitos=rand()%9;
                fasegrupo[l][i].golsfeitos=rand()%9;
                fasegrupo[l][c].golstomados=fasegrupo[l][i].golsfeitos;
                fasegrupo[l][i].golstomados=fasegrupo[l][c].golsfeitos;
                fasegrupo[l][c].saldodegols=fasegrupo[l][c].golsfeitos-fasegrupo[l][c].golstomados;
                fasegrupo[l][i].saldodegols=fasegrupo[l][i].golsfeitos-fasegrupo[l][i].golstomados;
                
                if(fasegrupo[l][c].golsfeitos>0){
                    fasegrupo[l][i].somagols=fasegrupo[l][i].somagols+fasegrupo[l][i].golsfeitos;
                }
                if(fasegrupo[l][c].golstomados>0){
                    fasegrupo[l][i].somatomados=fasegrupo[l][i].somatomados+fasegrupo[l][i].golstomados;
                }
                
                if(fasegrupo[l][c].saldodegols>0){
                    fasegrupo[l][i].somasaldo=fasegrupo[l][i].somasaldo+fasegrupo[l][i].saldodegols;
                }
                
                
                if(fasegrupo[l][c].golsfeitos>fasegrupo[l][c].golstomados){
                    fasegrupo[l][c].pontos=fasegrupo[l][c].pontos+3;
                }
                if(fasegrupo[l][c].golsfeitos==fasegrupo[l][c].golstomados){
                    fasegrupo[l][c].pontos+1;
                }
                
                    
               printf("\n%s %d x %d %s",fasegrupo[l][c].grupos,fasegrupo[l][c].golsfeitos, fasegrupo[l][i].golsfeitos,fasegrupo[l][i].grupos);
               
                }
            }
        }
        
        printf("\n*************************************\n");
        printf("\n******* Levantamento de pontos******** \n");
        
        for(l=0;l<8;l++){
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<4;c++){
               printf("\n%s : Pontos: %d Marcados: %d Tomados: %d Saldo: %d",fasegrupo[l][c].grupos,fasegrupo[l][c].pontos,fasegrupo[l][c].somagols,fasegrupo[l][c].somatomados,fasegrupo[l][c].somasaldo);
               
            }
        }
        
    
    
for(l=0;l<8;l++){
            sorte=rand()%1000;
            printf("\n********Processo seletivo*********\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<3;c++){
                for(i=c+1;i<4;i++){
                    if (fasegrupo[l][c].pontos>fasegrupo[l][i].pontos){
                        fasegrupo[l][c].vaga=fasegrupo[l][c].vaga+10;
                    }else if(fasegrupo[l][c].pontos==fasegrupo[l][i].pontos && fasegrupo[l][c].somasaldo > fasegrupo[l][i].somasaldo){
                        
                        fasegrupo[l][c].vaga=fasegrupo[l][c].vaga+3;
                    }else if(fasegrupo[l][c].pontos==fasegrupo[l][i].pontos && fasegrupo[l][c].somasaldo == fasegrupo[l][i].somasaldo && fasegrupo[l][c].somagols> fasegrupo[l][i].somagols ){
                        
                        fasegrupo[l][c].vaga=fasegrupo[l][c].vaga+1;
                    } else if (fasegrupo[l][c].pontos==fasegrupo[l][i].pontos && fasegrupo[l][c].somasaldo == fasegrupo[l][i].somasaldo && fasegrupo[l][c].somagols == fasegrupo[l][i].somagols && sorte%2 == 0){
                        
                        fasegrupo[l][c].vaga=fasegrupo[l][c].vaga+1;
                    } 
                    
                }
            }
}

            printf("\n******ConclusaoProcesso seletivo******\n");


for(l=0;l<8;l++){
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<4;c++){
               printf("\n%s : Vaga: %d",fasegrupo[l][c].grupos,fasegrupo[l][c].vaga);
               
            }
        }
        /*typedef struct{
    int golsfeitos, golstomados;
    char classificados[20];
    int posicao;
    
}MataMata;*/


    printf("\n*******transferindo**********\n");
    //transferindo chave para matamata
    
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<3;c++){
               while(fasegrupo[0][c].vaga<fasegrupo[0][c+1].vaga){
                   aux=fasegrupo[0][c].vaga;
                   strcpy(auxchar,fasegrupo[0][c].grupos);
                   fasegrupo[0][c].vaga=fasegrupo[0][c+1].vaga;
                   strcpy(fasegrupo[0][c].grupos,fasegrupo[0][c+1].grupos);
                   fasegrupo[0][c+1].vaga=aux;
                   strcpy(fasegrupo[0][c].grupos,auxchar);
               }
                  
            }
    
        printf("\n*******transferindo**********\n");
    
    
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<2;c++){
               printf("\n%s %d Posição: %d\n", fasegrupo[0][c].grupos,fasegrupo[0][c].vaga,c+1);
               strcpy(matamata[c].classificados, fasegrupo[0][c].grupos);
               }
                  
//outro grupo

//transferindo chave para matamata
    
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<3;c++){
               while(fasegrupo[1][c].vaga<fasegrupo[1][c+1].vaga){
                   aux=fasegrupo[1][c].vaga;
                   strcpy(auxchar,fasegrupo[1][c].grupos);
                   fasegrupo[1][c].vaga=fasegrupo[1][c+1].vaga;
                   strcpy(fasegrupo[1][c].grupos,fasegrupo[1][c+1].grupos);
                   fasegrupo[1][c+1].vaga=aux;
                   strcpy(fasegrupo[1][c].grupos,auxchar);
               }
                  
            }
    
        printf("\n*******transferindo**********\n");
    
    
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<2;c++){
               printf("\n%s %d Posição: %d\n", fasegrupo[1][c].grupos,fasegrupo[1][c].vaga,c+1);
               strcpy(matamata[c+2].classificados, fasegrupo[1][c].grupos);
               }
                  
//outro grupo

//transferindo chave para matamata
    
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<3;c++){
               while(fasegrupo[2][c].vaga<fasegrupo[2][c+1].vaga){
                   aux=fasegrupo[2][c].vaga;
                   strcpy(auxchar,fasegrupo[2][c].grupos);
                   fasegrupo[2][c].vaga=fasegrupo[2][c+1].vaga;
                   strcpy(fasegrupo[2][c].grupos,fasegrupo[2][c+1].grupos);
                   fasegrupo[2][c+1].vaga=aux;
                   strcpy(fasegrupo[2][c].grupos,auxchar);
               }
                  
            }
    
        printf("\n*******transferindo**********\n");
    
    
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<2;c++){
               printf("\n%s %d Posição: %d\n", fasegrupo[2][c].grupos,fasegrupo[2][c].vaga,c+1);
               strcpy(matamata[c+4].classificados, fasegrupo[2][c].grupos);
               }
            
                  
//outro grupo

//outro grupo

//transferindo chave para matamata
    
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<3;c++){
               while(fasegrupo[3][c].vaga<fasegrupo[3][c+1].vaga){
                   aux=fasegrupo[3][c].vaga;
                   strcpy(auxchar,fasegrupo[3][c].grupos);
                   fasegrupo[3][c].vaga=fasegrupo[3][c+1].vaga;
                   strcpy(fasegrupo[3][c].grupos,fasegrupo[7][c+1].grupos);
                   fasegrupo[3][c+1].vaga=aux;
                   strcpy(fasegrupo[3][c].grupos,auxchar);
               }
                  
            }
    
        printf("\n*******transferindo**********\n");
    
    
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<2;c++){
               printf("\n%s %d Posição: %d\n", fasegrupo[3][c].grupos,fasegrupo[3][c].vaga,c+1);
               strcpy(matamata[c+6].classificados, fasegrupo[3][c].grupos);
               }
            
            
                  
//outro grupo

//outro grupo

//transferindo chave para matamata
    
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<3;c++){
               while(fasegrupo[4][c].vaga<fasegrupo[4][c+1].vaga){
                   aux=fasegrupo[4][c].vaga;
                   strcpy(auxchar,fasegrupo[4][c].grupos);
                   fasegrupo[4][c].vaga=fasegrupo[4][c+1].vaga;
                   strcpy(fasegrupo[4][c].grupos,fasegrupo[4][c+1].grupos);
                   fasegrupo[4][c+1].vaga=aux;
                   strcpy(fasegrupo[4][c].grupos,auxchar);
               }
                  
            }
    
        printf("\n*******transferindo**********\n");
    
    
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<2;c++){
               printf("\n%s %d Posição: %d\n", fasegrupo[4][c].grupos,fasegrupo[4][c].vaga,c+1);
               strcpy(matamata[c+8].classificados, fasegrupo[4][c].grupos);
               }
            
                  
//outro grupo

//outro grupo

//transferindo chave para matamata
    
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<3;c++){
               while(fasegrupo[5][c].vaga<fasegrupo[5][c+1].vaga){
                   aux=fasegrupo[5][c].vaga;
                   strcpy(auxchar,fasegrupo[5][c].grupos);
                   fasegrupo[5][c].vaga=fasegrupo[5][c+1].vaga;
                   strcpy(fasegrupo[5][c].grupos,fasegrupo[5][c+1].grupos);
                   fasegrupo[5][c+1].vaga=aux;
                   strcpy(fasegrupo[5][c].grupos,auxchar);
               }
                  
            }
    
        printf("\n*******transferindo**********\n");
    
    
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<2;c++){
               printf("\n%s %d Posição: %d\n", fasegrupo[5][c].grupos,fasegrupo[5][c].vaga,c+1);
               strcpy(matamata[c+10].classificados, fasegrupo[5][c].grupos);
               }
            
                  
//outro grupo


//outro grupo

//transferindo chave para matamata
    
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<3;c++){
               while(fasegrupo[6][c].vaga<fasegrupo[6][c+1].vaga){
                   aux=fasegrupo[6][c].vaga;
                   strcpy(auxchar,fasegrupo[6][c].grupos);
                   fasegrupo[6][c].vaga=fasegrupo[6][c+1].vaga;
                   strcpy(fasegrupo[6][c].grupos,fasegrupo[6][c+1].grupos);
                   fasegrupo[6][c+1].vaga=aux;
                   strcpy(fasegrupo[6][c].grupos,auxchar);
               }
                  
            }
    
        printf("\n*******transferindo**********\n");
    
    
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<2;c++){
               printf("\n%s %d Posição: %d\n", fasegrupo[6][c].grupos,fasegrupo[6][c].vaga,c+1);
               strcpy(matamata[c+12].classificados, fasegrupo[6][c].grupos);
               }
            
                  
//outro grupo

//outro grupo

//transferindo chave para matamata
    
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<3;c++){
               while(fasegrupo[7][c].vaga<fasegrupo[7][c+1].vaga){
                   aux=fasegrupo[7][c].vaga;
                   strcpy(auxchar,fasegrupo[7][c].grupos);
                   fasegrupo[7][c].vaga=fasegrupo[7][c+1].vaga;
                   strcpy(fasegrupo[7][c].grupos,fasegrupo[7][c+1].grupos);
                   fasegrupo[7][c+1].vaga=aux;
                   strcpy(fasegrupo[7][c].grupos,auxchar);
               }
                  
            }
    
        printf("\n*******transferindo**********\n");
    
    
            printf("\n*****************\n");
            printf("\nGrupo %d",l+1);
            printf("\n------");
            for(c=0;c<2;c++){
               printf("\n%s %d Posição: %d\n", fasegrupo[7][c].grupos,fasegrupo[7][c].vaga,c+1);
               strcpy(matamata[c+14].classificados, fasegrupo[7][c].grupos);
               }
            
                  
//outro grupo

printf("********************************:\n");
printf("Classificados Mata Mata para oitavas de final:\n");
for(l=0;l<16;l++){
    printf("%s\n", matamata[l].classificados);
}

printf("********************************:\n");
printf("Classificados Mata Mata para quartas de final:\n");
for(l=0;l<8;l++){
    printf("%s\n", matamata[l].classificados);
}
printf("********************************:\n");
printf("Classificados Mata Mata para semi final:\n");
for(l=0;l<4;l++){
    printf("%s\n", matamata[l].classificados);
}
printf("********************************:\n");
printf("Classificados Mata Mata para final:\n");
for(l=0;l<2;l++){
    printf("%s\n", matamata[l].classificados);
}
printf("********************************:\n");
printf("Seleção campeã:\n");
for(l=0;l<1;l++){
    printf("%s\n", matamata[l].classificados);
}






        

    return 0;
            }
Editor is loading...
Leave a Comment