Урок 15 Задача 5
Primary tabs
Пользователь вводит массив целых чисел из 7 элементов. Найдите из них два самых больших числа и выведите их на экран.
var
a, i, j:integer;
m: array [1..7] of integer;
begin
for i:=low(m) to high(m) do // обходим массив через цикл для инициализации
begin
write('Введите число: ');
readln (m[i]);
end;
for i:=low(m) to 2 do // внешний цикл, достаточно 2 витка, т.к. нужно получить 2 самых больших числа
for j:=low(m) to high(m)-i do // вложенный цикл для сравнения и перестановки каждых двух соседних чисел
if (m[j] > m [j+1]) then // если число слева больше, чем число справа
begin
a:= m[j+1]; // записываем число справа (меньшее) в переменную
m[j+1]:= m[j]; // числу справа присваиваем значение числа слева (большее значение)
m[j]:= a; // числу слева присваиваем меньшее значение (то, что раньше было числом слева)
end; // в итоге два числа меняются местами, слева - меньшее, справа - большее
write(m[6], ' ', m[7]); // выводим предпоследний и последний элементы массива
readln ();
end. Вывод в консоли:
Введите число: 6 Введите число: 44 Введите число: -8 Введите число: 0 Введите число: 335 Введите число: 5 Введите число: 6 44 335
- Log in to post comments
- 573 reads