Pascal ABC Напишите полностью пожалуйста ответ! Найти произведение элементов массива целых чисел, которые кратны 7. Размерность массива – 15. Заполнение массива осуществить случайными числами.
В начале выделяется память под массив из 15 элементов, регистрируются переменные proiz и i. Далее начинается основной код. Переменной proiz присваивается значение 1, чтобы потом бессмысленно не умножать на 0. С помощью цикла for переменная i пробегается по всем целым числам от 1 до 15. Элементу массива с индексом i присваивается рандомное значение от -100 до 100. Если остаток от деления числа на 7 равен нулю (значит число кратно 7), то значение переменной proiz изменяется на элемент массива с индексом i. В конце - вывод массива и произведения элементов.
MrSolution
У Вас не инициализирован датчик псевдослучайных чисел. Используйте процедуру randomize для этого. Или пишите на синтаксисе PascalABC.NET, как в ответе ниже.
lozas3169
У меня то что с сайта работает у вас не рабочие какие то вот что я нашёл
lozas3169
var a: array[1..15] of integer; i: integer; av: integer;
begin randomize; for i := 1 to 15 do a[i] := random(40) + 10; writeln('Исходный массив: '); for i := 1 to 15 do write(a[i], ' '); writeln; av := 1; for i := 1 to 15 do if a[i] mod 7 = 0 then av := av * a[i]; if av = 1 then writeln('Массив не содержит элементов , которые кратны 7!') else writeln('Произведение равно: ', av); end.
lozas3169
У вас такое написание это точно 9 класс?
Answers & Comments
Программа:
Pascal:
var
arr: array[1..15] of integer;
proiz, i: integer;
begin
randomize;
proiz := 1;
for i := 1 to 15 do begin
arr[i] := random(-100, 100);
if arr[i] mod 7 = 0 then
proiz *= arr[i];
end;
writeln(arr, #10, proiz);
end.
Объяснение:
В начале выделяется память под массив из 15 элементов, регистрируются переменные proiz и i. Далее начинается основной код. Переменной proiz присваивается значение 1, чтобы потом бессмысленно не умножать на 0. С помощью цикла for переменная i пробегается по всем целым числам от 1 до 15. Элементу массива с индексом i присваивается рандомное значение от -100 до 100. Если остаток от деления числа на 7 равен нулю (значит число кратно 7), то значение переменной proiz изменяется на элемент массива с индексом i. В конце - вывод массива и произведения элементов.
Результат:
[-21,88,75,64,-1,-49,-93,-43,-44,-63,37,27,-28,91,-33]
165179196
[-73,-6,72,15,-57,-53,-59,-62,-60,-56,-40,50,-99,21,-71]
-1176
Verified answer
Программа:
##
ArrRandom(15, ReadInteger('Нижняя граница:'), ReadInteger('Верхняя граница')).Where(x->x mod 7 = 0).Aggregate(1,(p,x) -> p*x).Print;
Пример работы:
Нижняя граница: 1
Верхняя граница 100
432180
a: array[1..15] of integer;
i: integer;
av: integer;
begin
randomize;
for i := 1 to 15 do a[i] := random(40) + 10;
writeln('Исходный массив: ');
for i := 1 to 15 do write(a[i], ' ');
writeln;
av := 1;
for i := 1 to 15 do
if a[i] mod 7 = 0 then av := av * a[i];
if av = 1 then writeln('Массив не содержит элементов , которые кратны 7!')
else writeln('Произведение равно: ', av);
end.