Ir ao conteúdo

Posts recomendados

Postado

A ideia desse exercício é criar um jogo com números aleatórios. O jogo consiste em um vetor de 5 posições preenchidos automaticamente com números aleatórios de 1 a 10. O usuário terá que acertar 3 números presentes no vetor e terá uma única chance. Ou seja, se o usuário errar um dos números ele já perdeu. Após informar os 3 números o programa deverá informar se o usuário ganhou ou perdeu. Exemplo: Vetor gerado aleatoriamente: 4 / 7 / 3 / 9 / 1

 

Primeiro número informado pelo usuário: 9

Segundo número informado pelo usuário: 3

Terceiro número informado pelo usuário: 1

Mensagem final do programa: GANHOU! Você acertou os 3 números

  • Moderador
Postado

Caro usuário,

 

Seja bem-vindo ao Fórum do Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Fórum do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

Postado

a parte difícil do exercicio acho que toda vez que o usuario digitar o numero deverá fazer uma busca no vetor aleatorio gerado para saber se tem o numero, para isso tem que comparar os vetores.

olhe este codigo que fiz

#include<stdio.h>
#include<stdlib.h>
#include <conio.h>
#include <time.h>
#include<locale.h>

int main(){
	setlocale(LC_ALL, "Portuguese");
        srand(time(NULL));
  int a,cont, j, achou, num, vec[10],aleatorio[10],contador=0;
  for (cont = 0; cont < 5; cont++) {
    do {
      achou = 0; 
      num = rand() % 10 + 1;

      for (j = 0; j < 5; j++)
        if (num == aleatorio[j])
          achou = 1;

    } while (achou);
    aleatorio[cont] = num;

  }
  printf("Os numeros aleatorios sao: ");
  for (j = 0; j < 5; j++){
		printf("%d/",aleatorio[j]);

    }
		for (j = 0; j < 3; j++) {
			printf("\nDigite algum numero:");
			a++;
		scanf("%d",&vec[10]);
		printf ("%dº numero digitado pelo usuario = %d\n",a,vec[10]);
	}
	if (contador>=3){
		printf ("GANHOU! Você acertou os 3 números");
	}
	else{
		printf ("\nLamento Perdeu");
		
	}
}




 

  • Curtir 1
Postado
#include<stdio.h>
#include<stdlib.h>
#include <conio.h>
#include <time.h>
#include<locale.h>

int main(){
	setlocale(LC_ALL, "Portuguese");
        srand(time(NULL));
  int a,cont, j, achou, num, dig,aleatorio[10],contador=0;

  for (cont = 0; cont < 5; cont++) {
    do {
      achou = 0; 
      num = rand() % 10 + 1;

      for (j = 0; j < 5; j++)
        if (num == aleatorio[j])
          achou = 1;

    } while (achou);
    aleatorio[cont] = num;

  }
  printf("Os numeros aleatorios sao: ");
  for (j = 0; j < 5; j++){
		printf("%d/",aleatorio[j]);

    }
		for (j = 0; j < 3; j++) {
			printf("\nDigite algum numero:");
			a++;
		scanf("%d",&dig);
		printf ("%dº numero digitado pelo usuario = %d\n",a,dig);
		if (dig==aleatorio[0]||dig==aleatorio[1]||dig==aleatorio[2]||dig==aleatorio[3]||dig==aleatorio[4]){
		contador=contador+1;
		if(contador==3){printf ("GANHOU! Você acertou os 3 números");
			return(0);}
	}
	else{
		printf ("\nLamento Perdeu");
		return (0);
		
	}
	}
	
}

 

  • 4 anos depois...
Postado

Boa Tarde

Aparentimente, é mais um exercício de iteração sobre vetores das matrizes. 

Em 10/04/2020 às 19:38, XIXX disse:

O jogo consiste em um vetor de 5 posições preenchidos automaticamente com números aleatórios de 1 a 10.

/* definir números como pseudoaleatórios 1-10 */
  int snumero[5] ,ssorteio[10];
  size_t s= sizeof ssorteio/ sizeof(ssorteio[0]);
  for (size_t a= 0 ; s>a ; ++a) ssorteio[a]= (int) a;
  for (size_t a= 0 ; s>a ; ++a) {
    int rs= rand ()% s;
    int an= ssorteio[--s];
    ssorteio[s]= ssorteio[rs];
    ssorteio[rs]= an;
    }
  for (size_t a= 0 ; sizeof snumero/ sizeof(snumero[0])>a ; ++a)
    snumero[a]= ssorteio[a];
Em 10/04/2020 às 19:38, XIXX disse:

O usuário terá que acertar 3 números presentes no vetor e terá uma única chance. Ou seja, se o usuário errar um dos números ele já perdeu. Após informar os 3 números

/* solicitar e checar 3 inteiros como palpites */
  int spalpite[3]= {0}, check= -3;
  printf ("Informe 3 inteiros como palpites do sorteio? ");
  for (size_t a= 0 ; sizeof spalpite/ sizeof(spalpite[0])>a ; ++a) {
    int palpite= 0;
    if (scanf ("%i",&palpite)==EOF) {
      perror ("Falhou na solicitação do palpite");
      return 1;
      }
    for (size_t a= 0 ; sizeof snumero/ sizeof(snumero[0])>a ; ++a)
      check+= snumero[a]==palpite;
    spalpite[a]= palpite;
    if ('\n'==getchar ()) break;
    }
Em 10/04/2020 às 19:38, XIXX disse:

o programa deverá informar se o usuário ganhou ou perdeu

/* produzir estatus do apostador no simulador */
  char sordinal[] [9]= {
    {"Primeiro"} , 
    {"Segundo"} , 
    {"Terceiro"}};
  for (size_t a= 0 ; sizeof spalpite/ sizeof(spalpite[0])>a ; ++a) {
    printf ("%s%s",sordinal[a]," número informado pelo usuário foi: ");
    spalpite[a]?printf ("%d",spalpite[a]):0;
    putchar ('\n');
    }
/* ... */
  if (!check) printf ("%s%c","GANHOU! Você acertou os 3 números",'\n');

 

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