Исправить код - Pascal
Формулировка задачи:
Помогите, пожалуйста, исправить программу, чтобы чтение было из файла
Требуется определить, в какой момент времени черепаха сможет вернуться домой, съев все одуванчики и затратив на путешествие наименьшее время.
Входные данные
В 1-й строке входного файла находятся 2 целых числа, разделенные пробелом: vmax (в см/мин) и d (в минутах), 0 < vmax ≤ 200, 0 ≤ d ≤ 500.
Во 2-й строке находится число N – количество одуванчиков (в штуках). 0 ≤ N ≤ 1400 при d = 0, в противном случае 0 ≤ N ≤ 200.
В каждой из последующих N строк расположены: целое число xi – расстояние от одуванчика до начала грядки (в сантиметрах), 0 ≤ xi ≤ 32767, и через пробел ti – момент прорастания одуванчика (в формате hh:mm).
Выходные данные
Выходной файл должен содержать момент времени возвращения черепахи домой (в формате hh:mm), округленный до целых минут в большую сторону.
var x, t, dx: array[0..1400] of integer; vmax, d, n, i, count, answer: integer; s: string; time, min, max, wait: real; begin read(vmax, d, n); x[0] := 0; for i := 1 to n do begin read(x[i], s); dx[i] := x[i] - x[i - 1]; t[i] := 60 * (10 * ord(s[2]) + ord(s[3]) - 528) + 10 * ord(s[5]) + ord(s[6]) - 528 - t[i - 1] end; min := 0; max := t[n]; repeat wait := (min + max) / 2; time := wait; count := n; for i := 1 to n - 1 do begin time := time + dx[i] / vmax; if time >= t[i] then begin dec(count); time := time + d; end; end; time := time + dx[n] / vmax; if max - min < 0.1 then begin time := time + x[n] / vmax + count * d; answer := trunc(time + 0.9 - 1e-9); write(answer div 600, answer div 60 mod 10, ':', answer mod 60 div 10, answer mod 60 mod 10); exit end else if time < t[n] then min := wait else max := wait until false; end.
Решение задачи: «Исправить код»
textual
Листинг программы
Close(input);
Объяснение кода листинга программы
Close
- это имя процедуры, которая закрывает файл.input
- это переменная файла, которая представляет стандартный ввод, полностью прочитав входные данные из файла, который обычно является клавиатурой.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д