Цитата:
Сообщение от brickbazuka
Больше в условии не дано ничего, скорее всего произвольные значения
|
Ладно, получите. Поскольку из условия не ясно, означает ли минимальная загрузка минимум абсолютного числа пассажиров в вагоне или же минимальную относительную заполненность вагона (отношение числа пассажиров к вместимости), в программе вычисляются обе величины.
Код:
Const
Ncar=17;
Var
Num_of_Plac,Occ_Plac,Occ_Prc:Array[1..Ncar] of Byte;
Type_of_Car:Array[1..Ncar] of String;
i,j,Imin_Abs,Imin_Rel:Byte;
Begin
Randomize;
for i:=1 to Ncar do
begin
j:=Random(3);
Case j of
0:begin
Num_of_Plac[i]:=46;
Type_of_Car[i]:=' Numbered';
end;
1:begin
Num_of_Plac[i]:=36;
Type_of_Car[i]:='Compartment';
end;
2:begin
Num_of_Plac[i]:=36;
Type_of_Car[i]:='Soft-seated';
end;
end; {Case}
end;
for i:=1 to Ncar do
Occ_Plac[i]:=Random(Num_of_Plac[i]+1);
for i:=1 to Ncar do
Occ_Prc[i]:=Round(Occ_Plac[i]/Num_of_Plac[i]*100);
Writeln(' N Type of carriage Places Occupied %');
for i:=1 to Ncar do
Writeln(i:2,' '+Type_of_Car[i]+' ',Num_of_Plac[i],' ',
Occ_Plac[i]:2,' ',Occ_Prc[i]:3);
Writeln;
Imin_Abs:=1;
Imin_Rel:=1;
for i:=1 to Ncar do
begin
if Occ_Plac[i]<Occ_Plac[Imin_Abs] then Imin_Abs:=i;
if Occ_Prc[i]<Occ_Prc[Imin_Rel] then Imin_Rel:=i;
end;
Writeln('Carriage with absolute minimal occupation is ',Imin_Abs,
' (',Occ_Plac[Imin_Abs],' passengers)');
Writeln('Carriage with relative minimal occupation is ',Imin_Rel,
' (',Occ_Prc[Imin_Rel],'%)');
End.