В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
garkachev20031
garkachev20031
06.02.2020 03:24 •  Информатика

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 тонн, а остальные груженые вагоны вывести в остаток, и среди вагонов состава б найти вагон с максимальной массой

Показать ответ
Ответ:
денис1095
денис1095
22.06.2020 20:23
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.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота