Опубликовано 03.01.2018 по предмету Информатика от Гость

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.

Не нашел нужный ответ?

Если ответ по предмету Информатика отсутствует или он оказался неправильным, то попробуй воспользоваться поиском других ответов во всей базе сайта.


Найти другие ответы
Самые новые вопросы