var
a, b, c: real;
begin
writeln('Введите 3 любых числа');
readln(a, b, c);
if (a < b) and (a < c) then writeln(a, ' - наименьшее число');
if (b < a) and (b < c) then writeln(b, ' - наименьшее число');
if (c < a) and (c < b) then writeln(c, ' - наименьшее число');
if (a > b) and (a > c) then writeln(a, ' - наибольшее число');
if (b > a) and (b > c) then writeln(b, ' - наибольшее число');
if (c > a) and (c > b) then writeln(c, ' - наибольшее число');
readln; //Убрать если среда разработки не Turbo Pascal
end.
var
N: 2..100;
a: array [1..100] of -1000..1000;
max1, max2, MaxPr, i, j: integer; {MaxPr - максимальное произведение, max1 и max2 - искомые числа}
function RangeOverfilling(Number: integer; Index: integer): integer; {Функция, возвращающая число в диапазон}
begin
if Number in [1..Index] then result := Number;
if Number > Index then result := Number mod Index;
if Number < 1 then result := Index + Number mod Index;
end;
begin
MaxPr:= -maxint; {Присваиваем максимальному проиведению начальное значение, равное максимальному числу типа integer, взятому со знаком -}
writeln('Введите N');
readln(N);
for i:= 1 to N do
begin
writeln('Введите целое число, по модулю не превышающее 1000');
readln(a[i]);
end;
for i:= 1 to N - 1 do
for j:= 1 to RangeOverfilling(N - i, N) do
if a[i] * a[i + j] > MaxPr then
begin
MaxPr:= a[i] * a[i + j];
max1:= a[i];
max2:= a[i + j];
end;
writeln('Пара чисел, дающих максимальное произведение: ', max1,' и ', max2);
end.
Поделитесь своими знаниями, ответьте на вопрос:
На перемене ученики сломали парту. учитель опросил всех учеников, находившихся в классе, и получил следующие утверждения: оля - я не ломала парту ира - это лена, я все видела лена - ира говорит неправду катя - сломали мальчики вася - оля не ломала парту сережа - это был либо миша либо оля миша - лена никогда не врет дима - это девочки сломали если бы учительница знала, что только 6 человек сказали правду, она без труда вычислила бы виновника. кто сломал парту?