Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
Mike24

[Resolvido] Program Lotomania

Recommended Posts

Boa noite!

Gostaria que alguem me ajudasse a resolver esse Program.Sou iniciante e preciso fazer esse programa usando vetores e que os numeros sorteados nao se repitam.porém nao consegui..Alem do mais quando digito a quantidade de jogos que quero ele so roda um e tambem quando quero fazer outras apostas respondendo sim ou nao ele nao continua..para e nao roda mais.E no segundo begin, na linha writeln aparece:o indice de numero '1' do vetor deve ser do tipo inteiro.Nao entendi.. Tenho que faze-lo no PASCAL.Por favor me Ajudem!!

Program LotoMania;
Uses Crt;
Var
vetor : array[1..50]of integer;
i,qtd: integer;
resp:string{1};
jogos:integer;

BEGIN
CLRSCR;
randomize;
BEGIN
writeln('jogos para loto');
writeln('digite a quantidade de jogos a serem realizados:');
readln(qtd);

Begin
while (qtd <> 50) do begin
writeln;
qtd := qtd + 1;
vetor[qtd] := random (99)+1;

End;

writeln('Numeros sorteados: ');

For I := 1 to 50 do
writeln(vetor[i],' ,');
write('deseja fazer outra aposta?? sim(S) nao(N) : ');
readln(resp);
writeln;
End;
Readkey;
END;
END.

Editado por Mike24

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha só MIKE você precisa de uma estrutura de repetição!!!

i,qtd: integer; 
resp:string[1];
jogos:integer;

BEGIN
CLRSCR;
randomize;
BEGIN

repeat// Estrutura de repetição termina com o laço " UNTIL " lá em baixo !!!
begin
CLRSCR; // Limpa a Tela toda cez q repetir
writeln('jogos para loto');
writeln('digite a quantidade de jogos a serem realizados:');
readln(qtd);

Begin
while (qtd <> 50) do begin
writeln;
qtd := qtd + 1;
vetor[qtd] := random (99)+1;

End;

writeln('Numeros sorteados: ');


//Akê é um loop ! não pode haver perguntas olhe em baixo
For I := 1 to 50 do
writeln(vetor[i],' ,');
writeln;
End;


// Coloquei ela fora do loop e por ultimo na sequencia do codigo
porque ela vai ser a ultima coisa q o programa vai ler
write('deseja fazer outra aposta?? sim(S) nao(N) : ');
read(resp);
end
until(resp='n');// esse significa q o programa vai se repetir até resposta ser <> de 'S'
Readkey;
END;
END.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pensei que usando so a Estrutura While iria dar..mas ainda nao esta rodando, no until ele nao reconhece o 'n' , mesmo declarando..e na declaraçao vetor: array{1..50} of integer;nao aceita o 'OF'Nao entendi.você saberia me explicar?

Editado por Mike24

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta esse Agora !! é porque faltou o sinal de "="entre resp e 'n' = "until (resp = 'n');


Program LotoMania;
Uses Crt;
Var
vetor : array[1..50]of integer;
i,qtd: integer;
resp:string[1];
jogos:integer;

BEGIN
CLRSCR;
randomize;
BEGIN

repeat// Estrutura de repetição termina com o laço " UNTIL " lá em baixo !!!
begin
CLRSCR; // Limpa a Tela toda cez q repetir
writeln('jogos para loto');
writeln('digite a quantidade de jogos a serem realizados:');
readln(qtd);

Begin
while (qtd <> 50) do begin
writeln;
qtd := qtd + 1;
vetor[qtd] := random (99)+1;

End;

writeln('Numeros sorteados: ');


//Akê é um loop ! não pode haver perguntas olhe em baixo
For I := 1 to 50 do
writeln(vetor[i],' ,');
writeln;
End;


// Coloquei ela fora do loop e por ultimo na sequencia do codigo
//porque ela vai ser a ultima coisa q o programa vai ler
write('deseja fazer outra aposta?? sim(S) nao(N) : ');
read(resp);
end
until(resp = 'n');// esse significa q o programa vai se repetir até resposta ser = a 'n'
Readkey;
END;
END.

Editado por Macklouf

Compartilhar este post


Link para o post
Compartilhar em outros sites

e na declaraçao vetor: array{1..50} of integer;nao aceita..Mas porque no vetor nao aceita??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele aceita sim

você tá colocando assim : Array{1..50} of integer

o certo seria assim:

Array[1..50] of integer >> Deve-se usar Cochete e não chave !!

ATT,

Macklouf

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas você nao me ensinou como posso colocar em colunas os numeros sorteados..e qd digito a quantidade de jogos independente de quantos sao,ele roda so um jogo!!:(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

Vocês estão precisando separar as coisas. Vamos por partes!!! Tente entender/fazer uma coisa de cada vez.

Sugestão: faça somente que o programa gere os números, exiba na tela e finalize.

Daí vem outro detalhes:

- Primeiro definir o que é "gerar mais de um jogo", ou seja, é para perguntar se deseja que o programa "reinicie" ou que "gera tantos jogos quanto forem solicitado"? (são duas coisas diferentes). Em um ele gera e pergunta se quer gerar de novo. No outro, ele solicita quantos jogos serão lançados e gera os jogos de uma vez só.

- Exibir os números em colunas. Neste caso é uma questão de estética. Saber manipular a impressão dos dados. É simples. depois vê isso.

Dica: Experimente ler outras postagem do fórum... pesquisem na internet sobre os comandos que tem dúvida!

Abaixo um programa para consulta.


uses
CRT;
var
vetor :array[1..50] of integer;
i :integer;
resposta :char;

BEGIN
Randomize; //inicializa o Random() (evitar que repetita números*)
repeat
ClrScr; // Limpa a tela
writeln('Jogos para loto');
{GERA OS NÚMEROS}
for i:=1 to 50 do
vetor[i]:=Random(99)+1;
writeln('Numeros sorteados: ');
{EXIBE OS NÚMEROS NA TELA}
for i:=1 to 50 do
write(vetor[i],', ');
writeln;
writeln;
write('Deseja fazer outra aposta?? sim(S) nao(N) : ');
readln(resposta);
until (resposta='n') or (resposta='N');
END.
PROGRAM LotoMania;

Observação Importante:: O fórum está traduzindo R E S P (junto) por RESPOSTA. Por isso o código por aparecer errado. Para evitar esse erro deixei como Resposta mesmo :cool:

No aguardo

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

:)Muito Obrigada..fiz e deu certo..e as colunas e linhas deram certo..Valeu mesmo..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  





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

×