0
I need to make a program in C, that the user enters with 5 games of 6 dozens stored in a 5x6 matrix. I need to create a function that draws a game of six dozens stored in a vector of 6 positions and another function that checks if the user hit 2 numbers.
I couldn’t just do the function of checking the games.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#define T 6 //quantidade de dezenas sorteadas
#define VALIDO 1
#define INVALIDO 0
#define C 6 //numero de colunas
#define L 2 //numero de linhas
insira o código aqui
<void menu();
<void jogar();
void sortear();
void conferirSorteio();
int matriz[L][C];
int opc = 0;
int sorteio[T];
int main()
{
while(opc !=4)
{
menu();
switch(opc)
{
case 1:
jogar();
printf("\nConcluido.\nPressione qualquer tecla para continuar...");
getch();
system("cls");
break;
case 2:
sortear();
printf("\nConcluido.\nPressione qualquer tecla para continuar...");
getch();
system("cls");
break;
case 3:
conferirSorteio();
printf("\nConcluido.\nPressione qualquer tecla para continuar...");
getch();
system("cls");
break;
}
}
return 0;
}
void menu()
{
printf("1 - Jogar\n");
printf("2 - Sortear\n");
printf("3 - Conferir Resultado\n");
printf("4 - Sair\n");
printf("Digite a sua opcao: ");
scanf("%d", &opc);
}
void jogar(){
int i, j;
/*Lendo todos os elementos da matriz.*/
for(i=0; i<L; i++){
printf("\nDigite os numeros da cartela %d: \n", i+1);
for(j=0; j<C; j++)
scanf("%d", &matriz[i][j]);
}
/*Imprimindo a matriz.*/
printf("\nListando as cartelas de jogos .");
for(i=0; i<L; i++){
printf("\n\nLinha %d:\n", i+1);
for(j=0; j<C; j++)
printf("%d ", matriz[i][j]);
}
}
void sortear(){
int i, j;
int status, aux;
srand((unsigned)time(NULL));
for(i=0; i<T; i++){
do{
sorteio[i]= 1 + rand() % 60;
status = VALIDO;
for (j = 0; j < i; ++j)
if (sorteio[i] == sorteio[j])
status = INVALIDO;
}while (status == INVALIDO);
}
for(i=0; i<T; i++){
for(j=i+1; j<T; j++){
if(sorteio[i]>sorteio[j]){
aux=sorteio[i];
sorteio[i]=sorteio[j];
sorteio[j]=aux;
}
}
}
printf("\n\nSeis dezenas sorteadas\n");
for(i=0; i<T; i++){
printf("|%d", sorteio[i]);
}
printf("\n");
}
void conferirSorteio(){
int i, j, k;
int conferir;
int pontos = 0;
//confere o numeros de acertos
for(i=0; i<L; i++){
for(j=0; j<C; j++){
conferir = matriz[i][j];
for(k=0; k<C; k++){
if(sorteio[k] == conferir){
pontos++;
}
}
}
}
if(pontos==2){
printf("Parabens voce fez 2 ou mais pontos!");
}else{
printf("Que pena voce fez menos de 2 pontos!");
}
}
Put the missing code so that it is possible to test and reproduce the problem. What should do the function
conferir? Receive two numbers and see if they exist inmatriz?– Isac
Adriano, select the code and press <Ctrl> + <k>, this will make it properly formatted as a code block and therefore readable
– Jefferson Quesado
sorry, vlw thank you!!
– Adriano S Guimarães
There was not a flaw in the placement of the code ? Now look at this part ->
insira o código aqui <void menu(); <void jogar();. And you still haven’t answered the previous question I asked -> "What should the function check ? Receive two numbers and see if they exist in matrix ?"– Isac
I had to leave. the check function should check if I hit 2 numbers in one of the 5 games.
– Adriano S Guimarães
The program must receive 5 user games with 6 dozens. And generate a game to check whether hit 2 numbers.
– Adriano S Guimarães
I think now everything is ok.... I’m sorry!!!
– Adriano S Guimarães
I made a function void conferirSorteio() but it cannot separate the numbers of hits for each game....
– Adriano S Guimarães
The draw is to be analyzed in how many cards ? all?
– Isac
5 packs, matrix 5x6.
– Adriano S Guimarães
have to check all the cards and check how many got 2 numbers.
– Adriano S Guimarães