Ir ao conteúdo
  • Cadastre-se
Catí Kurumim 7

Loteria esportiva - Algoritmo valores do vetor

Recommended Posts

Olá,

Tenho a seguinte questão:

Escreva um algoritmo que leia um vetor de 13 elementos inteiros, que é o resultado da loteria esportiva, contendo os valores 1 (coluna 1), 2 (coluna 2) e 3 (coluna do meio). Leia a seguir, para cada apostador, o número do seu cartão e um vetor de respostas de 13 posições. Verifique para cada apostador o número de acertos, comparando com o vetor de resultado. Escreva o número do apostador e o número de acertos. Se o apostador tiver 13 pontos, mostrar a mensagem “Ganhador”.

Minha seguinte duvida é: os valores 1, 2, 3 eu que devo determinar a posição ou o usuário é quem deve fazer isso?

program Quest51;
Var
Result:array[1..13] of integer;
Resp:array[1..13] of integer;
Acertos, I, Ncard: Integer;
begin
Writeln('Escreva o resultado da loteria');
For I:=1 to 13 do
Readln(Result[I]);
Writeln('Escreva o numero do cartao');
Readln(Ncard);
Writeln('Escreva a resposta');
For I:=1 to 13 do
Begin
Readln(Resp[I]);
If(Result[I] = Resp[I])
then Acertos:= Acertos+1;
End;
Writeln('O numero do cartao é ',Ncard);
Writeln('A aquntidade de acertos é ',Acertos);
If(Acertos = 13)
Then Writeln('Ganhador');
Readln;
End.

Caso ocorra alguma coisa errada no código além do que eu perguntei me informem!

Bora ai gente, ajudem me!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

Tenho a seguinte questão:

Escreva um algoritmo que leia um vetor de 13 elementos inteiros, que é o resultado da loteria esportiva, contendo os valores 1 (coluna 1), 2 (coluna 2) e 3 (coluna do meio). Leia a seguir, para cada apostador, o número do seu cartão e um vetor de respostas de 13 posições. Verifique para cada apostador o número de acertos, comparando com o vetor de resultado. Escreva o número do apostador e o número de acertos. Se o apostador tiver 13 pontos, mostrar a mensagem “Ganhador”.

Minha seguinte duvida é: os valores 1, 2, 3 eu que devo determinar a posição ou o usuário é quem deve fazer isso?


Var
Result:array[1..13] of integer;
Resp:array[1..13] of integer;
Acertos, I, Ncard: Integer;
begin
Writeln('Escreva o resultado da loteria');
For I:=1 to 13 do
Readln(Result[I]);
Writeln('Escreva o numero do cartao');
Readln(Ncard);
Writeln('Escreva a resposta');
For I:=1 to 13 do
Begin
Readln(Resp[I]);
If(Result[I] = Resp[I])
then Acertos:= Acertos+1;
End;
Writeln('O numero do cartao é ',Ncard);
Writeln('A aquntidade de acertos é ',Acertos);
If(Acertos = 13)
Then Writeln('Ganhador');
Readln;
End.
program Quest51;

Caso ocorra alguma coisa errada no código além do que eu perguntei me informem!

Bora ai gente, ajudem me!

Olá.

Ainda precisa de ajuda?

Minha seguinte duvida é: os valores 1, 2, 3 eu que devo determinar a posição ou o usuário é quem deve fazer isso?

Não entendi a pergunta. Mas se estiver se referindo às respostas de cada apostador, creio que você (como usuário) que vai informar, ou seja, para cada aposta você deverá digitar um dos 3 valores possíveis (1, 2 ou 3) para cada uma das 13 posições.

Algumas dicas:

1) Sugiro fazer a verificação do resultados depois, ou seja, primeiro ler os dados dos apostadores, depois verificar os números acertados;

2) Segundo o enunciado devem ser várias apostas, e não só uma. Você poderia usar um array de apostas.

3) Independente de ganhar ou não, o enunciado pede mostrar o número de acertos de todos.

Por ai vai...

No aguardo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado, realmente eu me passei em alguns detalhes nessa questão.

Vou refazer e enviar novamente!

program Quest51;
Var
Result:array[1..13] of integer;
Resp:array[1..13] of integer;
Acertos, I, Ncard: Integer;
begin
Writeln('Escreva o resultado da loteria');
For I:=1 to 13 do
Readln(Result[I]);
Writeln('Escreva o numero do cartao');
Readln(Ncard);
Writeln('Escreva a resposta');
For I:=1 to 13 do
Begin
Readln(Resp[I]);
If(Result[I] = Resp[I])
then Acertos:= Acertos+1;
End;
Writeln('O numero do cartao é ',Ncard);
Writeln('A aquntidade de acertos é ',Acertos);
If(Acertos = 13)
Then Writeln('Ganhador');
Readln;
End.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra mim o código continua o mesmo, ele ''dá assistência'' a tudo que se pede na questão.

Ele pode até está mal estruturado, mas cumpre o que se pede.

Obs: Caso o que eu tenha dito pareça equivocado comentem novamente.

UPDATE

Pode fechar o tópico!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Código atual:


Var
Result:array[1..13] of integer;
Resp:array[1..13] of integer;
Acertos, I, Ncard: Integer;
begin
Writeln('Escreva o resultado da loteria');
For I:=1 to 13 do
Readln(Result[I]);
Writeln('Escreva o numero do cartao');
Readln(Ncard);
Writeln('Escreva a resposta');
For I:=1 to 13 do
Begin
Readln(Resp[I]);
If(Result[I] = Resp[I])
then Acertos:= Acertos+1;
End;
Writeln('O numero do cartao é ',Ncard);
Writeln('A aquntidade de acertos é ',Acertos);
If(Acertos = 13)
Then Writeln('Ganhador');
Readln;
program Quest51;

Pra mim o código continua o mesmo, ele ''dá assistência'' a tudo que se pede na questão.

Ele pode até está mal estruturado, mas cumpre o que se pede.

Obs: Caso o que eu tenha dito pareça equivocado comentem novamente.

Então este código ainda não está de acordo com o enunciado... meu comentário anterior ainda é válido..

Veja:

Escreva um algoritmo que leia um vetor de 13 elementos inteiros, que é o resultado da loteria esportiva, contendo os valores 1 (coluna 1), 2 (coluna 2) e 3 (coluna do meio).

OK.

Leia a seguir, para cada apostador, o número do seu cartão e um vetor de respostas de 13 posições. Verifique para cada apostador o número de acertos, comparando com o vetor de resultado. Escreva o número do apostador e o número de acertos. Se o apostador tiver 13 pontos, mostrar a mensagem “Ganhador”.

Tem alguns detalhes faltando ainda...

Dica extra:

- Para testar, em vez de 13 use 2 posições nos cartões;

- Habilite o programa aceitar somente até 3 apostas diferentes (que os arrays tem limites.

Obs1:Com o Pascal é possível também gerar números aleatórios... se quiser poderia implementar esse recurso..

Obs.2:

Caso não deseje mais continuar com esse tópico, é só avisar que fechamos.

No aguardo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×