Информатика, вопрос задал lapa2004 , 9 лет назад

Помогите пожалуйста на паскале создать программу которая
Сформировать двумерный массив А размером 5*7 с помощью генератора случайных чисел и вывести элементы массива на экран. Найти средние значения положительных и отрицательных элементов каждого столбца матрицы отдельно и вывести их на экран.

Ответы на вопрос

Ответил 65536
0
var a:array[1..5,1..7] of integer;
    i,j,kolpol,kolotr:integer;
    respol,resotr:real;
begin
for j:=1 to 7 do begin
  for i:=1 to 5 do begin
    a[i,j]:=random(-50,50);
    write(a[i,j]:4);
  end;
  writeln();
end;
for i:=1 to 5 do begin
  respol:=0;
  resotr:=0;
  kolpol:=0;
  kolotr:=0;
  for j:=1 to 7 do begin
    if a[i,j]>0 then begin
      respol+=a[i,j];
      kolpol+=1;
    end
    else if a[i,j]<0 then begin
       resotr+=a[i,j];
       kolotr+=1;
     end;
  end;
  writeln('Среднее значение положительных чисел в ',i,' столбце=', respol/kolpol);
  writeln('Среднее значение отрицательных чисел в ',i,' столбце=', resotr/kolotr);
end;
end.

Ответил lapa2004
0
Возник вопрос касательно + respol+=a[i,j];
k+=1;
end
else resotr+=a[i,j]; я так понимаю тут допущена ошибка?
Ответил 65536
0
Видимо, да. Количество отрицательных чисел считается как семь минус количество положительных, при таком подходе нули будут посчитаны как отрицательные. То есть сумма отрицательных чисел считается правильно, но, если есть нули, не на то делится. Нужна еще одна переменная - количество строго отрицательных чисел, сейчас поправлю. Это та ошибка, или мы про разные вещи говорим?)
Ответил 65536
0
Теперь "отрицательные" значит именно отрицательные, а не неположительные
Новые вопросы