Другие языки программирования и технологии

Задачка по Паскалю.

Помогите, не шарю я в нём))) ) а осталась одна задачка.
Дана матрица PS(3X5), содержащая положительные, отрицательные число и нули. Вычислить сумму модулей отрицательных чисел и произведение положительных элементов матрицы, а так же количество нулей. (Перебор элементов исходной матрицы ввести по столбцам использовать два оператора While.) Помогите пожалуйста.
А чем оператор for не угодил?

var
    ps: array [1..3, 1..5] of integer;
    i, j, nz, s: integer;
    p: real;
begin
    randomize;
    i := 1;
    writeln('матрица: ');
    while i <= 3 do begin
        j := 1;
        while j <= 5 do begin
            ps[i, j] := random(11) - 5;
            write(ps[i, j]:3);
            inc(j);
        end;
        writeln;
        inc(i);
    end;
    p := 1;
    i := 1;
    while i <= 3 do begin
        j := 1;
        while j <= 5 do begin
            if ps[i, j] = 0 then inc(nz)
            else if ps[i, j] > 0 then p := p * ps[i, j]
            else inc(s, -ps[i, j]);
            inc(j);
        end;
        inc(i);
    end;
    writeln('сумма модулей отрицательных: ', s);
    writeln('произведение положительных: ', p:0:0);
    writeln('количество нулей: ', nz);
end.
AM
Anatoliy Makarov
82 062
Лучший ответ
если все за тебя делать то платно 50р на тел МТС
SM
Sergej M
95 932
О боже, бедный парень! Зачем тебе всё это? О_О