Найти произведение отрицательных элементов массива - Turbo Pascal (29550)
Формулировка задачи:
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) произведение отрицательных элементов массива;
2) сумму положительных элементов массива, расположенных до максимального элемента;
3) изменить порядок следования элементов в массиве на обратный.
Решение задачи: «Найти произведение отрицательных элементов массива»
textual
Листинг программы
var n, i, center : byte;
mult, temp : real;
mas : array [0..100] of real;
BEGIN
Randomize;
Write('Введите размер массива: ');
Readln(n);
for i:=1 to n do
mas[i]:= Random(20)-10+Random;
Writeln('Массив:');
for i:=1 to n do
Write(mas[i]:7:2);
Writeln;
//п.1
mult:=1;
for i:=1 to n do
if mas[i]<0 then mult:=mult*mas[i];
Writeln('Произведение = ', mult:4:2);
//п.3
center:= n div 2;
for i:=1 to center do
begin
temp:= mas[i];
mas[i]:= mas[n+1-i];
mas[n+1-i]:= temp;
end;
for i:=1 to n do
Write(mas[i]:7:2);
Writeln;
END.
Объяснение кода листинга программы
- В первой части кода пользователь вводит размер массива, который сохраняется в переменной n. Затем для каждого элемента массива (от 1 до n) генерируется случайное число от -10 до 10 (включительно) и сохраняется в переменной mas[i]. После этого выводится содержимое массива.
- Во второй части кода создается переменная mult, которая инициализируется единицей. Затем для каждого элемента массива (от 1 до n), если значение mas[i] отрицательное, то значение mult умножается на mas[i]. Таким образом, произведение отрицательных элементов массива сохраняется в переменной mult.
- В третьей части кода вычисляется средний индекс массива (center) путем деления n на 2. Затем для каждого элемента массива (от 1 до center) происходит следующее: сначала значение mas[i] заменяется на mas[n+1-i], затем значение mas[n+1-i] заменяется на temp, и, наконец, значение temp заменяется на mas[i]. Это позволяет
расширитьмассив в середине, поменяв местами элементы. После этого выводится содержимое массива.