Как написать программу на Pascal ABC, которая создаст массив случайных чисел в диапазоне от -5 до 5 и выведет индексы всех элементов, абсолютное значение которых совпадает с абсолютным значением максимального элемента массива? Задача оценивается в 40 баллов.
Информатика 11 класс Массивы и работа с ними
Для решения данной задачи мы будем следовать пошагово. Мы создадим программу на языке Pascal ABC, которая выполнит следующие действия:
Теперь давайте посмотрим на код программы:
program FindIndicesOfMaxAbsValue;
const
N = 10; // Размер массива
var
arr: array[1..N] of Integer; // Объявление массива
maxElem, i: Integer;
indices: array[1..N] of Integer; // Массив для хранения индексов
count: Integer;
begin
Randomize; // Инициализация генератора случайных чисел
// 1. Создание массива случайных чисел
for i := 1 to N do
begin
arr[i] := Random(11) - 5; // Генерируем числа от -5 до 5
end;
// 2. Поиск максимального элемента
maxElem := arr[1];
for i := 2 to N do
begin
if arr[i] > maxElem then
maxElem := arr[i];
end;
// 3. Поиск индексов элементов с совпадающим абсолютным значением
count := 0;
for i := 1 to N do
begin
if Abs(arr[i]) = Abs(maxElem) then
begin
count := count + 1;
indices[count] := i; // Сохраняем индекс
end;
end;
// 4. Вывод результатов
Write('Индексы элементов с абсолютным значением, совпадающим с абсолютным значением максимального элемента: ');
for i := 1 to count do
begin
Write(indices[i], ' ');
end;
WriteLn; // Переход на новую строку
end.
Теперь рассмотрим код подробнее:
Таким образом, программа решает поставленную задачу и выводит нужные индексы. Вы можете изменить размер массива, изменив константу N, и запустить программу для проверки различных случаев.