может лучше тогда на паскале, а не в делфях? (ну или хотя бы в текстовом режиме, без визуальной оболочки.)
а вообще алгоритм такой:
1) объявляем переменную P для произведения и присваиваем ей значение 1.
2) Далее в цикле проверяем условие - Элемент_матрицы < 0? Если да, то умножаем этот элемент на P. Повторяем для всех элементов.
3) Выводим P. Для красоты еще можно взять значение по модулю: ABS(P);
В паскале это будет выглядеть как-то так:
Код:
program z;
var
A: array[0..8] of integer = (1, -2, 43, 56, 24, -35, 23, -23, 9) //сюда пишем наши элементы массива.
i: byte;
P: integer;
begin
P:= 1;
for i:= 0 to 8 do
If A[i] < 0 then P:= P * A[i];
writeln(abs(P)); //выводим на экран
readln; //для непропадания экрана вывода.
end.
Соответственно код будет слегка меняться в зависимости от того, как тебе нужно задать массив. Ну и сами значения массива разумеется.