Program vagoni; varA:array[1..15] of real;B:array[1..15] of real;C:array[1..15] of real;i,m,q,j,d,N:integer;s,max_num, max_index:real;beginN:=15;m:=10;q:=50;writeln('Vvedite massy vagonov sostava M sostoyashego iz 15 vagonov');...
Program vagoni;
var
A:array[1..15] of real;
B:array[1..15] of real;
C:array[1..15] of real;
i,m,q,j,d,N:integer;
s,max_num, max_index:real;
begin
N:=15;
m:=10;
q:=50;
writeln('Vvedite massy vagonov sostava M sostoyashego iz 15 vagonov');
s:=0;
Begin
for i:=1 to N do
Begin
write('vagon_',i,'-> ');
readln(a[i]);
end;
end;
writeln(' ');
writeln('VSE vagoni:');
for i:=1 to N do
writeln('vagon_',i,'=',a[i],'tonn');
writeln(' ');
writeln(' ');
writeln('Porojnie vagoni:');
for i:=1 to N do
begin
if (A[i] <= m) then
writeln('porojniy vagon=', i);
end;
writeln('');
writeln('grujenie vagoni:');
for i:=1 to N do
begin
if (A[i] > m) then s:=s+a[i];
if (A[i] > m) then
writeln('grujeniy vagon=', i);
end;
Writeln('Summa mass grujenih vagonov:', s);
if s>q then
writeln('previshenie massy! sostav ne mojet bit sformirovan') else
begin
writeln;
writeln('Noviy sostav:');
j:=1;
d:=1;
for i:=1 to N{-1} do
if A[i] > m then
begin
B[j]:=A[i];
writeln('vagon_',j,'=',B[j],'tonn');
j:=j+1;
end else
begin
C[d]:=A[i];
d:=d+1;
end;
end;
Begin
writeln(' ');
writeln('Ostatok:');
d:=d-1;
WHILE d>0 do
begin
writeln('vagon_',d,'=',C[d],'tonn');
d:=d-1;
end;
end;
writeln(' ');
begin
max_index := 1;
max_num := B[1];
for i := 2 to j do
if B[i] > max_num then begin
max_index := i;
max_num := B[i];
end;
writeln('Maksimalnaya massa vagona sostava B=',max_num,' tonn', ' Ego nomer:',max_index);
end;
end.
Вот программа нужно чтоб формировался состав б в любом случае но не превышал 50 тонн, а остальные груженые вагоны вывести в остаток, и среди вагонов состава б найти вагон с максимальной массой
Ответ(ы) на вопрос:
Гость
var
A, B, C: array[1..15] of real;
i, m, max_weight, b_n, c_n, N, max: integer;
s: real;
begin
N := 15;
m := 10;
max_weight := 50;
writeln('ВВедите массы состава ', m, ' состоящего из ', n, ' вагонов');
for i := 1 to n do
begin
write('Масса вагона № ', i, ' = ');
readln(a[i]);
end;
writeln();
writeln('Все вагоны:');
for i := 1 to n do
writeln('Вагон №', i, ' = ', a[i], ' тон');
writeln();
writeln('Порожние вагоны:');
for i := 1 to n do
if (A[i] <= m) then
writeln('Вагон №', i);
writeln();
s := 0;
writeln('Груженные вагоны:');
for i := 1 to n do
if (A[i] > m) then begin
s := s + a[i];
writeln('Вагон №', i);
end;
Writeln('Сумма масс груженных вагонов = ', s);
{// if s > max_weight then begin
// writeln('Превышение массы! Состав не будет сформирован');
// exit;
// end;}
writeln;
writeln('Новый состав:');
s := 0;
for i := 1 to n do
if (A[i] > m) and (s + A[i] <= max_weight) then begin
b_n := b_n + 1;
s := s + A[i];
B[b_n] := A[i];
writeln('Вагон №', b_n, ' = ', B[b_n], ' тон');
end
else begin
c_n := c_n + 1;
C[c_n] := A[i];
end;
writeln();
writeln('Остаток:');
for i := 1 to c_n do
writeln('Вагон №', i, ' = ', C[i], ' тон');
writeln();
max := 1;
for i := 1 to b_n do
if B[i] > B[max] then
max := i;
writeln('Максимальная масса в составе: Вагон №', max, ' = ', B[max], ' тон');
end.
Не нашли ответ?
Похожие вопросы