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