Problema con comparacion de numeros de 1 tabla
Publicado por andreuu (3 intervenciones) el 16/06/2011 00:08:24
Hola, estoy haciendo un programa sobre un ranking de equipos, pero el ranking lo tiene que generar el programa, a partir de random. el problema es que al imprimir la lista veo que hay algunas posiciones que no se generan. Hay otro procedimiento que introduce los nombres. Aqui os pongo el programa:
const
n_equips=32;
t_equip=record
nom:string;
fifa:integer;
end;
t_copa=array[1..32]of t_equip;
procedure generar_dades(var c:t_copa);
var
a,i,j:integer;
llista:array[1..n_equips]of integer;
begin
for a:=1 to n_equips do
begin
llista[a]:=random(32)+1;
for i:=a downto 1 do
begin
if llista[a]=llista[i-1] then
begin
repeat
j:=random(32)+1;
until j<>llista[a];
llista[a]:=j;
end;
end;
c[a].fifa:=llista[a];
procedure ranking_fifa(c:t_copa);
var
i,j:integer;
trobat:boolean;
begin
for j:=1 to n_equips do
begin
trobat:=false;
i:=1;
while (i<=n_equips) and (trobat=false) do
begin
if c[i].fifa=j then
begin
writeln('Ranking: ',j,'-->',c[i].nom);
trobat:=true;
end;
i:=i+1;
end;
end;
end;
const
n_equips=32;
t_equip=record
nom:string;
fifa:integer;
end;
t_copa=array[1..32]of t_equip;
procedure generar_dades(var c:t_copa);
var
a,i,j:integer;
llista:array[1..n_equips]of integer;
begin
for a:=1 to n_equips do
begin
llista[a]:=random(32)+1;
for i:=a downto 1 do
begin
if llista[a]=llista[i-1] then
begin
repeat
j:=random(32)+1;
until j<>llista[a];
llista[a]:=j;
end;
end;
c[a].fifa:=llista[a];
procedure ranking_fifa(c:t_copa);
var
i,j:integer;
trobat:boolean;
begin
for j:=1 to n_equips do
begin
trobat:=false;
i:=1;
while (i<=n_equips) and (trobat=false) do
begin
if c[i].fifa=j then
begin
writeln('Ranking: ',j,'-->',c[i].nom);
trobat:=true;
end;
i:=i+1;
end;
end;
end;
Valora esta pregunta
0