Что сможете, то и решите
Зд. 3 Создайте массив В(К) из целых чисел вычисленных случайным образом и найдите сумму, произведение и количество всех его четных положительных элементов.
Зд. 4 Дан массив А(15). Найдите количество элементов массива, которые при делении на шесть дают в остатке два и выведите их на экран через запятую.
Зд. 5 Элемента массива А вычисляются по формуле: A(i) =Sin(i/100), где i = 1, 2, 3... . Напишите программу, которая находит произведение элементов массива А стоящих до первого нулевого элемента. Сообщите номер и значение первого нулевого элемента массива А.
Ответы
Задача 3 :
program task3;
var
B: array of Integer;
K, i, sum, prod, count: Integer;
begin
Write('Введите размер массива: ');
Readln(K);
SetLength(B, K); // выделяем память для массива
// заполняем массив случайными числами
for i := 0 to K-1 do
B[i] := Random(100) - 50; // генерируем случайное число от -50 до 49
// находим сумму, произведение и количество четных положительных элементов
sum := 0;
prod := 1;
count := 0;
for i := 0 to K-1 do
if (B[i] > 0) and (B[i] mod 2 = 0) then
begin
sum := sum + B[i];
prod := prod * B[i];
count := count + 1;
end;
// выводим результаты
Writeln('Массив B: ', B);
Writeln('Сумма четных положительных элементов: ', sum);
Writeln('Произведение четных положительных элементов: ', prod);
Writeln('Количество четных положительных элементов: ', count);
end.
ЗАДАЧА 4: program task4;
var
A: array[1..15] of Integer;
i, count: Integer;
begin
// заполняем массив А случайными числами
for i := 1 to 15 do
A[i] := Random(100);
// находим количество элементов массива, которые дают в остатке 2 при делении на 6
count := 0;
for i := 1 to 15 do
if A[i] mod 6 = 2 then
begin
count := count + 1;
Write(A[i], ', ');
end;
// выводим результаты
Writeln;
Writeln('Количество элементов, дающих в остатке 2 при делении на 6: ', count);
end.
ЗАДАЧА 5:
program task5;
var
A: array of Real;
i, zeroIndex: Integer;
prod: Real;
begin
Write('Введите размер массива: ');
Readln(i);
SetLength(A, i); // выделяем память для массива
// вычисляем элементы массива по формуле
for i := 0 to High(A) do
A[i] := Sin(i/100);
// находим произведение элементов массива до первого нулевого элемента
prod := 1;
zeroIndex := -1;
for i := 0 to High(A) do
begin
if A[i] = 0 then
begin
zeroIndex := i;
Break; // выходим из цикла, если найден первый нулевой элемент
end;
prod := prod * A[i];
end;
// выводим