Ir ao conteúdo

Posts recomendados

Postado

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
  • Solução
Postado

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

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...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!