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
  • Autor do tópico
  • 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
  • Autor do tópico
  • 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
  • Autor do tópico
  • 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
  • Autor do tópico
  • :)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

    ×