Определить, выдержит ли мост - Pascal

Узнай цену своей работы

Формулировка задачи:

Из-за своего грубого невежества не могу написать следующую задачу: "поезд едет через мост. Входные данные: длина моста, его "выдерживающая способность" (не знаю, как на русский перевести), длина вагона. Дальше задается масса каждого вагона в виде массива, который обрывается на -1. Если мост выдержит, то вывести число. Если мост рухнет, то вывести 0" примеры данных: ВВОД 10 100 5 30 30 30 40 30 30 40 39 40 -1 ВЫВОД 8 ВВОД 7 20 3 4 5 5 5 5 5 4 -1 ВЫВОД 0 Мои карякули:
var
   a,b:array[1..100] of integer;
   i,r,n,k,j,s,kek:integer;
   dm,nm,dv:integer;  
begin
 
read(dm, nm, dv); {длина моста. выдержка моста. длина вагона}
 
 repeat  read(a[i]) until i= -1; 

k:= dm div dv;(*)
for i:=1 to k do
  s:=s+a[i];
*)
if nm-s=0 then kek:=0 else
 
 for i:=1 to k do
  begin
   for j:=n downto 1 do
    if (j=n) then r:=a[n] else a[j+1]:=a[j];
   a[1]:=r;
  end;
  kek:=kek+1;
 
write(kek);
end.
Понимаю, что нужно применить сдвиг массива влево. Компиляцию проходит, а ответы неправильные.

Решение задачи: «Определить, выдержит ли мост»

textual
Листинг программы
  Read(b,m,c); c:=(b-1) div c+2; {s:=0; i:=0;}

Объяснение кода листинга программы

  1. Read(b,m,c):
    • b - значение переменной b (вероятно, ширина моста)
    • m - значение переменной m (вероятно, вес автомобиля)
    • c - значение переменной c (вероятно, допустимая грузоподъемность моста)
  2. c:=(b-1) div c+2:
    • Вычисление нового значения переменной c путем вычитания 1 из b, деления на c и добавления 2 к результату.
  3. {s:=0; i:=0;}:
    • Эта часть кода закомментирована и, следовательно, не выполняется. Возможно, ранее использовалась для обнуления переменных s и i.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5
Похожие ответы