Помогите, пожалуйста с задачей в паскале.
В одномерном массиве F из 50 случайных элементов найти количество элементов кратных 5, которые меньше 15. Заменить эти элементы на их индексы в квадрате и найти сумму полученного массива
Ответы
Программа:
Pascal:
var
F: array[1..50] of integer;
amount5, amount15, summ, i: integer;
begin
randomize;
for i := 1 to 50 do begin
F[i] := random(-100, 100);
if abs(F[i]) mod 5 = 0 then begin
amount5 += 1;
F[i] := i * i;
end;
if F[i] < 15 then begin
amount15 += 1;
F[i] := i * i;
end;
end;
for i := 1 to 50 do
summ += F[i];
writeln('Полученный массив: ', F);
writeln('Элементов, кратных 5: ', amount5);
writeln('Элементов, меньших 15: ', amount15);
writeln('Сумма элементов: ', summ);
end.
Объяснение:
В начале выделяем память под массив из 50 элементов целого типа. Регистрируем переменные amount5, amount15, summ, i. В основном коде указываем, что используем randomize. Далее - с помощью цикла переменная i принимает значения от 1 до 50. Элемент с индексом i принимает значения от -100 до 100. Далее - делаем проверку, равен ли остаток от деления на 5 нулю. Если так, увеличиваем значение переменной amount5 на единицу, и этот элемент заменяем на квадрат i (это его индекс). Также вторую делаем вторую проверку, элемент массива с индексом i меньше 15. Если да, то увеличиваем значение переменной amount15 на единицу и также заменяем этот элемент на квадрат индекса. С помощью второго цикла суммируем элементы (после первого цикла). В конце вывод всех необходимых значений.
Результат:
Полученный массив: [1,4,47,99,48,36,26,64,81,100,121,144,169,97,21,256,289,324,67,400,68,32,23,576,67,676,729,784,841,53,43,1024,91,69,77,1296,1369,41,1521,38,29,27,1849,52,2025,62,2209,2304,2401,73]
Элементов, кратных 5: 6
Элементов, меньших 15: 21
Сумма элементов: 22843
Полученный массив: [1,4,9,48,69,36,49,64,94,31,121,144,169,17,43,256,289,324,361,400,441,484,529,576,73,676,729,784,69,900,73,67,1089,41,16,92,1369,42,53,94,27,1764,51,1936,49,2116,17,23,2401,46]
Элементов, кратных 5: 6
Элементов, меньших 15: 23
Сумма элементов: 19156