Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida em um procedimento :)


Hendry Steffens

Pergunta

Olá,meu professor de Estrutura de Dados deu o seguinte trabalho:

{- Faça um algoritmo para controlar um campeonato de futebol:

- O campeonato é um quadrangular.
- Para cada time deverá ser salvo o nome do time, e o nome dos jogadores (sendo que
cada time possui um plantel de no máximo 22 jogadores entre titulares e reservas);
- Para cada time deverá ser controlada a pontuação total.
- Cada jogo possui três resultados possíveis (vitória 3 pontos, empate 1 ponto, derrota 0
pontos).
- Mostrar a lista de classificação por pontos informando o time campeão, o time rebaixado e
seus respectivos pontos.}
O dividi em problemas menores para procedimentos certo,e não estou conseguindo uma etapa da minha lista. Um procedimento que cria jogos aleatórios,sendo que todos os times tem que jogar com todos do campeonato sem repetir.
Eu pensei em algo tipo:
ex: Time_1=1
Time_2=2
Time_3=3
e embaralhar pelos números , não consegui e se alguém tiver uma opinião melhor sobre como misturar os times manda ai.
obs. Em console Application acabamos de iniciar com o orientado a objeto.
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

gerar numeros aleatórios sem repetir

CODE
procedure TForm1.Button1Click(Sender: TObject);
const
N = 10;
var
I, L, M: Integer;
Num: array[0..N - 1] of Integer;
begin
// GERAR NUMEROS ALEATORIOS SEM REPETIÇÃO
Memo1.Clear;
for I := 0 to N - 1 do
Num := I;
for I := N - 1 downto 1 do
begin
M := Random(I + 1);

while M = 0 do // EXCLUIR O ZERO
M := Random(I + 1);

L := Num;
Num := Num[M];
Num[M] := L;

memo1.Lines.Append( inttostr(Num));
end;

end;


abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpa mas ainda estou em console application ainda não manjo em orientado a objeto, e teria eu teria de formar todas as duplas possiveis,talvez eu deveria misturar-los no array logo depois de eu cadastra-los ,meu procedimento de cadastro ficou assim:

Program campeonato_futebol;

{$APPTYPE CONSOLE}
uses
SysUtils;
type Time=record
nome_time:string;
nome_jog:array [1..22]of string;
pontuacao:byte;
end;
var
Times:Array [1..4]of time;
i,j,num_jog:byte;
result:string;
//--------------Procedimento de Entrada de dados------------------------
Procedure Entrada;
begin
for i := 1 to 4 do
begin
writeln('Digite o Nome do Time',i);
readln(times.nome_time);
writeln('Digite a quantidade de jogadores');
readln(num_jog);
while (num_jog<12)xor(num_jog>22) do
begin
writeln('Digite novamente número não valido');
readln(num_jog);
end;
for j := 1 to num_jog do
begin
writeln('Digite o Nome do Jogador',j);
readln(times.nome_jog[j]);
end;
end;

end;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...