Ir ao conteúdo
  • Cadastre-se

ArthurMelo777

Membro Júnior
  • Posts

    11
  • Cadastrado em

  • Última visita

Reputação

10
  1. Cara, tive que praticamente criar um novo algoritmo (alguns dos comandos que tu usou eu ainda não vi). Pode analisar esse código e dizer o que há de errado? program bingo; uses crt; var vet: array[1..25] of integer; mat: array[1..5,1..5] of integer; m, n, i, k, j, aux, v: integer; begin writeln(' BINGO (10 CARTELAS)'); randomize; //PRIMEIRA COLUNA for v:= 1 to 5 do vet[v]:= random(15)+1; // for k:= 1 to 5-1 do for j:=1+k to 5 do begin if (vet[j]=vet[k]) then readln(vet[j]); end; // for k:= 1 to 5-1 do for j:=1+k to 5 do begin if (vet[j]<vet[k]) then begin aux:= vet[j]; vet[j]:= vet[k]; vet[k]:= aux; end; end; // i:= 0; for m:=1 to 1 do for n:=1 to 5 do begin i:= i+1; mat[n,m]:= vet[i]; end; //SEGUNDA COLUNA for v:= 6 to 10 do vet[v]:= random(15)+16; // for k:= 6 to 10-1 do for j:=6+k to 10 do begin if (vet[j]=vet[k]) then readln(vet[j]); end; // for k:= 6 to 10-1 do for j:=6+k to 10 do begin if (vet[j]<vet[k]) then begin aux:= vet[j]; vet[j]:= vet[k]; vet[k]:= aux; end; end; // for m:=2 to 2 do for n:=1 to 5 do begin i:= i+1; mat[n,m]:= vet[i]; end; //TERCEIRA COLUNA for v:= 11 to 15 do vet[v]:= random(15)+31; // for k:= 11 to 15-1 do for j:=11+k to 15 do begin if (vet[j]=vet[k]) then readln(vet[j]); end; // for k:= 11 to 15-1 do for j:=11+k to 15 do begin if (vet[j]<vet[k]) then begin aux:= vet[j]; vet[j]:= vet[k]; vet[k]:= aux; end; end; // for m:=3 to 3 do for n:=1 to 5 do begin i:= i+1; mat[n,m]:= vet[i]; end; //QUARTA COLUNA for v:= 16 to 20 do vet[v]:= random(15)+46; // for k:= 16 to 20-1 do for j:=16+k to 20 do begin if (vet[j]=vet[k]) then readln(vet[j]); end; // for k:= 16 to 20-1 do for j:=16+k to 20 do begin if (vet[j]<vet[k]) then begin aux:= vet[j]; vet[j]:= vet[k]; vet[k]:= aux; end; end; // for m:=4 to 4 do for n:=1 to 5 do begin i:= i+1; mat[n,m]:= vet[i]; end; //QUINTA COLUNA for v:= 21 to 25 do vet[v]:= random(15)+61; // for k:= 21 to 25-1 do for j:=21+k to 25 do begin if (vet[j]=vet[k]) then readln(vet[j]); end; // for k:= 21 to 25-1 do for j:=21+k to 25 do begin if (vet[j]<vet[k]) then begin aux:= vet[j]; vet[j]:= vet[k]; vet[k]:= aux; end; end; // for m:=5 to 5 do for n:=1 to 5 do begin i:= i+1; mat[n,m]:= vet[i]; end; clrscr; //ESCREVER for m:=1 to 5 do begin writeln(); for n:=1 to 5 do begin write(mat[m,n],' ') end; end; readkey; end. Em alguns casos os números se repetem e não aparecem na ordem.
  2. @devair1010 Certo, obrigado. Vou fazer apenas algumas modificações por causa das especificações do professor. Na primeira coluna, os números devem ser de 1 até 15; Na segunda coluna, os números devem ser de 16 até 30; Na terceira coluna, os números devem ser de 31 até 45; Na quarta coluna, os números devem ser de 46 até 60; Na quinta coluna, os números devem ser de 61 até 75;
  3. Olá, estou com um problema ao fazer o seguinte código: program B; uses crt; var vet: array[1..25] of integer; mat: array[1..5,1..5] of integer; j, M, N, aux, i: integer; begin writeln('PROGRAMA PARA IMPRIMIR DEZ CARTELAS DE BINGO'); randomize; for i:=1 to 10 do begin writeLn('CARTELA ',i); //SORTEAR VALORES E ATRIBUI-LOS A UM VETOR; VERIFICAR SE SÃO IGUAIS E, CASOS SEJAM, SUBSTITUI-LOS. for j:=1 to 25 do begin if j=1 then begin vet[j]:= random(15)+1; if vet[j]=vet[j+1] then vet[j]:= random(15)+1; end; if j=6 then begin vet[j]:= random(15)+16; if vet[j]=vet[j+1] then vet[j]:= random(15)+16; end; if j=11 then begin vet[j]:= random(15)+31; if vet[j]=vet[j+1] then vet[j]:= random(15)+31; end; if j=16 then begin vet[j]:= random(15)+46; if vet[j]=vet[j+1] then vet[j]:= random(15)+46; end; if j=21 then begin vet[j]:= random(15)+61; if vet[j]=vet[j+1] then vet[j]:= random(15)+61; end; end; //COLOCAR VALORES EM ORDEM CRESCENTE; for j:=1 to 25 do if vet[j]>vet[j+1] then begin aux:= vet[j]; vet[j]:= vet[j+1]; vet[j+1]:= aux; end; end; //TRANSFORMAR VETOR EM MATRIZ j:=0; for M:= 1 to 5 do for N:= 1 to 5 do begin j:= j+1; mat[M,N]:= vet[j]; end; //IMPRIMIR A MATRIZ for M:= 1 to 5 do begin writeln(''); for N:= 1 to 5 do begin writeln(mat[M,N],' '); end; end; readkey; end. É um código para criar 10 cartelas de bingo, em que os números não se repitam e fiquem em ordem crescente (os comentários estão todos no código). Alguém poderia examina-lo e me ajudar?
  4. @Simon Viegas Cara, o que eu ainda não entendi é a logica dos empates. Acho que já citei em cima, que o professor disse que seria necessário organizar os valores, acho que para passar de fase os que tivessem maior pontuação. Porém não vejo como organizar os valores. Você poderia me ajudar com isso?
  5. Aqui está o enunciado. A minha codificação atual é aquela que postei anteriormente, no começo.
  6. Olá, o professor falou que, como ele ainda não passou vetores, não podemos usar na atividade. O meu problema está sendo na classificação. Ele disse que colocar os valores em ordem (decrescente) ajudaria, mas não consigo entender como fazer isso nem como isso ajudaria. Posto o enunciado já já adicionado 2 minutos depois A classificação na primeira fase se dará nessa ordem de critérios: 1) Número de pontos ganhos em todos os jogos; 2) Saldo de gols em todos os jogos; 3) Número de gols marcados em todos os jogos; Se duas ou mais seleções empatarem em todos os quesitos acima, o desempate se baseará no confronto direto, seguindo os critérios abaixo: 4) Número de pontos ganhos nos confrontos diretos entre as seleções empatadas; 5) Saldo de gols dos confrontos diretos das seleções empatadas; 6) Número de gols marcados nos confrontos diretos das seleções empatadas; 7) Sorteio a ser realizado pelo Comitê Organizador da FIFA. (usar o comando aleatório) Aqui está o enunciado da classificação.
  7. O que está dando errado no algoritmo é que, ao processar, por exemplo, que p1 é maior que p2, ele vai armazenar p1 em c1 e p2 em c2. Até aí tudo bem. Porém, se o algoritmo localizar um empate, as variaveis do empate também ficarão armazenadas em c1 e c2, substituindo as primeiras.
  8. Laços de repetições sim, vetores e matrizes não. Você poderia me explicar como faz com as repeticoes, por favor?
  9. Meu professor de programação me mandou fazer um algoritmo no VisualG, porém estou com dificuldade quando os valores empatam, se alguem puder me ajudar, eu agradeço. Segue o Algoritmo com comentários para facilitar Código:

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!