Аватар
Информатика, опубликовано 2018-08-22 19:07:14 by Гость

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);s:=0;Beginfor i:=1 to N doBeginwrite(vagon_,i,-> );readln(a[i]);end;end;writeln( );writeln(VSE vagoni:);for i:=1 to N dowriteln(vagon_,i,=,a[i],tonn);writeln( );writeln( );writeln(Porojnie vagoni:);for i:=1 to N dobeginif (A[i] m) then s:=s+a[i];if (A[i] > m) thenwriteln(grujeniy vagon=, i);end;Writeln(Summa mass grujenih vagonov:, s);if s>q thenwriteln(previshenie massy! sostav ne mojet bit sformirovan) elsebeginwriteln;writeln(Noviy sostav:);j:=1;d:=1;for i:=1 to N{-1} doif A[i] > m thenbeginB[j]:=A[i];writeln(vagon_,j,=,B[j],tonn);j:=j+1;end elsebeginC[d]:=A[i];d:=d+1;end;end;Beginwriteln( );writeln(Ostatok:);d:=d-1;WHILE d>0 dobeginwriteln(vagon_,d,=,C[d],tonn);d:=d-1;end;end;writeln( );beginmax_index := 1;max_num := B[1];for i := 2 to j doif B[i] > max_num then beginmax_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]       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]       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.

Вопрос
Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.