Jump to content
Fórum Script Brasil
  • 0

Dúvida em um procedimento :)


Question

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 to post
Share on other sites

5 answers to this question

Recommended Posts

  • 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 to post
Share on other 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 to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148978
    • Total Posts
      645025
×
×
  • Create New...