我需要替换矩阵 A 中主对角线下方的元素。我编写了代码,但它不能正常工作。他把左边对角线下的元素替换了,但是你需要右边=(
输入:
Введите число строк 1-й матрицы - A (<=50)--> 3
Введите число столбцов 1-й матрицы - A (<=50)--> 3
Введите 1-ю матрицу (A):
Введите A[1,1] --> 3
Введите A[1,2] --> 6
Введите A[1,3] --> 5
Введите A[2,1] --> 4
Введите A[2,2] --> 8
Введите A[2,3] --> 7
Введите A[3,1] --> 9
Введите A[3,2] --> 5
Введите A[3,3] --> 5
结论:
Матрица А.
3 6 5
0 8 7
0 0 5
编码:
Const Max=50;
Var AA,BB,CC: array [1..Max,1..Max] of Double;
ii,jj,kk,nn : integer; Summa: double;
begin
write('Введите число строк 1-й матрицы - A (<=50)--> ');readln(NN);
write('Введите число столбцов 1-й матрицы - A (<=50)--> ');readln(KK);
writeln('Введите 1-ю матрицу (A):');
for ii:=1 to nn do
for jj:=1 to kk do
begin
write('Введите A[',ii,',',jj,'] --> ');
readln(AA[ii,jj]);
end;
writeln();
writeln('Заменил нулями ниже глайной диагонали < '); {заменить элементы ниже главной диагонали 0, массив А}
for ii:=1 to nn do begin
for jj:=1 to kk do
if ii > jj then
AA[ii,jj] := 0;
end;
writeln();
writeln('Матрица А.');
for ii:=1 to nn do begin
for jj:=1 to kk do
write(AA[ii, jj], ' ');
writeln;
end;
end.
如果更短,我需要什么例如:输入:
3 6 8 4
4 4 4 4
5 5 5 5
6 6 6 6
结论:
3 6 8 4
4 4 4 0
5 5 0 0
6 0 0 0
1 个回答