Выведите натуральное число s — максимальную возможную площадь прямоугольника - Turbo Pascal
Формулировка задачи:
Составляем прямоугольник
Ограничение времени 1 секунда
Ограничение памяти 64Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
У Васи есть набор из 4 палочек, они имеют длины a, b, c, d. Вася хочет составить из них прямоугольник, однако он обнаружил, что это возможно сделать не для всех четверок a,b,c,d. Тогда он решил разрезать некоторые палочки на две части, одну из которых он выбросит, а другую использует как сторону прямоугольника. Помогите Васе сделать разрезы так, чтобы у него получился прямоугольник максимальной площади.
Формат ввода
В единственной строке заданы 4 натуральных числа a,b,c,d (1≤ a,b,c,d ≤ 99), разделенные пробелами — исходные длины палочек, имеющихся у Васи.
Формат вывода
В единственной строке выведите натуральное число s — максимальную возможную площадь прямоугольника, составленного Васей.
Пример 1
Ввод Вывод
2 7 3 8
14
Пример 2
Ввод Вывод
2 2 3 3
6
Примечания
В первом примере Вася может обрезать третью и четвертую палочки так, чтобы их длины стали 2 и 7 соответственно. Тогда он составит прямоугольник со сторонами 2 и 7, его площадь равна 14.
В чем может быть ошибка?Помогите пожалуйста,спасибо!
Решение задачи: «Выведите натуральное число s — максимальную возможную площадь прямоугольника»
textual
Листинг программы
var a: array[1..4] of longint; s: longint; i,j:integer; t:text; begin assign(t, 'input.txt'); reset(t); for i := 1 to 4 do begin read(t,a[i]); end; for i:=1 to 3 do for j:=i+1 to 4 do if a[i]>a[j] then begin s:=a[i]; a[i]:=a[j]; a[j]:=s end; s:=a[3]*a[1]; assign(t, 'output.txt'); rewrite(t); writeln(t,s); close(t); end.
Объяснение кода листинга программы
- Создается переменная
a
, которая представляет собой массив из 4 элементов типаlongint
. - Создается переменная
s
, которая будет хранить максимальную возможную площадь прямоугольника. - Создаются переменные
i
иj
, которые будут использоваться для итерации по массивуa
. - Создается переменная
t
, которая представляет собой файл для записи. - Задается начальное значение для переменной
t
. - Запускается цикл
for
, который выполняется 4 раза (от 1 до 4). - Внутри цикла
for
выполняется чтение каждого элемента из файлаt
и сохранение его в соответствующий элемент массиваa
. - После завершения внутреннего цикла
for
начинается внешний циклfor
. - Внешний цикл
for
выполняется 3 раза (от 1 до 3). - Внутри внешнего цикла
for
выполняется сравнение элементов массиваa
. - Если текущий элемент
a[i]
больше текущего элементаa[j]
(гдеi
иj
- это индексы массива), то присваивается переменнойs
значение текущего элементаa[i]
, а текущие элементыa[i]
иa[j]
меняются местами. - После завершения внешнего цикла
for
присваивается значение переменнойs
переменнойa[3]*a[1]
. - Задается новое имя файла
t
-output.txt
. - Открывается файл
t
для записи. - Выводится значение переменной
s
в файлt
. - Закрывается файл
t
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д