Дан массив P (n, n). Элементы выше главной диагонали заменить ** ноль, а ниже главной...

0 голосов
45 просмотров

Дан массив P (n, n). Элементы выше главной диагонали заменить на ноль, а ниже главной диагонали – округлить.
Помогите найти ошибку! Я написала программу, но он не округляет числа и не все значения округляет до 0.
Program lab5;
Var
P: array [1..10,1..15] of real;
i, j, n, z: integer;
Begin
writeln('Введи n');
read(n);
writeln('Введи массив P');
for i:=1 to n do for j:=1 to n do
read(P[i,j]);
z:=0;
for i:=1 to n do
begin
if i if i>j then P[i,j]:=round(P[i,j]);
end;
for i:=1 to n do for j:=1 to n do
writeln ('P[',i,j,']= ',P[i,j]);
End.


Информатика (1.5k баллов) | 45 просмотров
0

там не до конца скопировалось: if ij then P[i,j]:=round(P[i,j]);

Дан 1 ответ
0 голосов
Правильный ответ

Program lab5;
const n=5;
Var
P: array [1..n,1..n] of real;
i, j : integer; 
Begin
Randomize;
writeln('Исходный массив P:');
for i:=1 to n do 
 begin
 for j:=1 to n do
  begin
  P[i,j]:=10*random;
  write(P[i,j]:5:1);
  end;
 writeln;
 end;
for i:=1 to n do 
 for j:=1 to n do
  if j>i then P[i,j]:=0 else P[i,j]:=round(P[i,j]);
writeln('Изменённый массив P:');
for i:=1 to n do 
 begin
 for j:=1 to n do write(P[i,j]:5:1);
 writeln;
 end;
End.

Пример:
Исходный массив P:
  6.0  6.5  4.2  0.6  4.6
  5.7  8.8  0.3  6.2  9.0
  3.0  5.3  4.0  6.0  4.8
  6.0  3.0  5.0  5.3  8.7
  8.9  8.8  6.8  5.3  5.1
Изменённый массив P:
  6.0  0.0  0.0  0.0  0.0
  6.0  9.0  0.0  0.0  0.0
  3.0  5.0  4.0  0.0  0.0
  6.0  3.0  5.0  5.0  0.0
  9.0  9.0  7.0  5.0  5.0

(194k баллов)