Ir ao conteúdo
  • Cadastre-se

C++ Jogo em C com matriz vetores


Ir à solução Resolvido por Ansi C,

Posts recomendados

O sistema deverá, utilizando a linguagem C, receber 6 apostas (6 números cada
aposta no intervalo de 1 a 60) e armazenar estas informações em uma matriz quadrada de
ordem 6. Um vetor chamado vetGabarito  deve armazenar 6 números, que são os gabaritos
da aposta.
Com a matriz de apostas preenchidas, o sistema deverá:
a. Mostrar a soma da diagonal principal da matriz de apostas.
b. Transferir todas as apostas para vetores de inteiros de 6 posições.
c. Indicar quantos números pares e ímpares foram apostados.
d. Indicar quantos acertos o jogador obteve para cada conjunto de aposta.

 

Estou com dificuldade de fazer letra d.

Meu código esta ai mas esta dando erro (mostrando a quantidade errada de acertos) na parte da letra d. 

#include <stdio.h>
#include <time.h>
#include <conio.h>
#include <stdlib.h>  
int main (void){
    int mat [6][6], vetGabarito[6], vet1[6], vet2[6], vet3[6], vet4[6], vet5[6], vet6[6], l, c, soma_diagonal=0, impar=0, par=0;
    srand (time (NULL));
    for (l=0; l<6; l++){
        for (c=0; c<6; c++){
            printf ("Digite a sua aposta de 1 a 60:"); scanf ("%d", &mat [l][c]);
        }
    }
    for (l=0; l<6; l++){
        for (c=0; c<6; c++){
            printf ("    %d", mat [l][c]);
        }
        printf ("\n");    
    }
    for (l=0; l<6; l++){
        for (c=0; c<6; c++){
            if (l==c){
                soma_diagonal=soma_diagonal+mat[l][c];
            }
        }
    }
    for (c=0; c<6; c++){
        vet1[c]= mat [0][c];
        vet2[c]= mat [1][c];
        vet3[c]= mat [2][c];
        vet4[c]= mat [3][c];
        vet5[c]= mat [4][c];
        vet6[c]= mat [5][c];
        printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet1[c]);
        printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet2[c]);
        printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet3[c]);
        printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet4[c]);
        printf ("Apostas do jogador na rodada [%d] e %d\n", c, vet5[c]);
        printf ("Aposta do jogador na rodada [%d] e %d\n", c, vet6[c]);
    }
    
    for (l=0; l<6; l++){
        for (c=0; c<6; c++){
            if ((mat[l][c]%2)==0){
                par++;
            } else {
                impar++;
            }
        }
    }
    srand (time (NULL));
    for (c=0;c<6;c++){
        vetGabarito[c]=rand()%10;
    }
    for (c=0; c<6; c++){
        printf ("     %d", vetGabarito[c]);
        printf ("\n");
    }
    for (c=0; c<6; c++){
        vet1[0]==vetGabarito[c];
        vet2[1]==vetGabarito[c];
        vet3[2]==vetGabarito[c];
        vet4[3]==vetGabarito[c];
        vet5[4]==vetGabarito[c];
        vet6[5]==vetGabarito[c];
    }        
printf ("A soma da diagonal da matriz e: %d\n", soma_diagonal);
printf ("A quantidade de numeros pares foi %d, e de numeros impares foi %d\n", par, impar);
printf ("O jogador na primeira rodada teve %d de acertos.\n", vet1[0]);
printf ("O jogador na segunda rodada teve %d de acertos.\n", vet2[1]);
printf ("O jogador na terceira rodada teve %d de acertos.\n", vet3[2]);
printf ("O jogador na quarta rodada teve %d de acertos.\n", vet4[3]);
printf ("O jogador na quinta rodada teve %d de acertos.\n", vet5[4]);
printf ("O jogador na sexta rodada teve %d de acertos.\n", vet6[5]);
return 0;
}

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Solução

Letra d) Crie uma estrutura FOR que vai 1 até 6, dentro dessa estrutura crie outra igual. Na primeiro você coloca vetor de apostas, na segunda você coloca o gabarito, compare cada elemento do gabarito com um elemento do vetor de apostas. Notará que para cada aposta no vetor de apostas percorrera completamente o vetor com gabarito.

 

Esse ciclo se realizará para cada vetor de aposta, ou seja, 6 vezes também. Pode usar os vetores separados de apostas ou a matriz de aposta já que são iguais em conteúdo e valor.

 

 

Dica: Usar funções para separar os problemas e as soluções, uma estrutura também permite , além de melhorias de design, reaproveitamento de código que futuramente será cobrado.

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...