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.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы