Помощь - Поиск - Пользователи - Календарь
Полная версия: матрица являющаяся суммой двух других
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
spektr
у меня есть подозрение что гдето я это уже видела,но я никак не могу это найти теперь.если не сложно хоть ссылку на подобное киньте,а лучше объясните где я надурила.



ЗАДАЧА:
Вычислите матрицу C(N,N),являющуюся суммой матриц A(N,N) и B(N,N),элементы А мы задаем а элементы В высчитываютьс по формуле

B[i,j]=
| A[i,j],если A[i,j]>=0

| 1,A[i,j],если<0



МОЙ ВАРИАНТ (НЕПРАВИЛЬНЫЙ):
Program sum;
uses crt;
VAR
A:ARRAY[1..100,1..100] of integer;
B:ARRAY[1..100,1..100] of integer;
C:ARRAY[1..100,1..100] of integer;
n,i,j : integer;
BEGIN
ClrScr;
RANDOMIZE;
WriteLn ('программа для решения очень важной фигни');
WriteLn ('введите размерность массива');
ReadLn (n);
IF n<=0
then
Begin
WriteLn ('­введите размерность массива снова');
ReadLn (n);
End
Else
Begin
FOR i:=1 to n DO
FOR j:=1 to n DO
A[i,j]:=random(9)-5;
FOR i:=1 to n do
FOR j:=1 to n do
begin
IF A[i,j]>=0
Then
B[i,j]:=A[i,j]
ELSE
B[i,j]:=1;
End;
FOR i:=1 to n do
begin
FOR j:=1 to n do
C[i,j]:=B[i,j]+A[i,j];
end;
for i:=1 to n do
BEGIN
WriteLn;
for J:=1 to n do
begin
Write (A[i,j]:3);
Write (B[i,j]:3);
Write (C[i,j]:3);
end;
end;
end;
readLn;
END.
мисс_граффити
видела ты, наверное, в FAQ...
правда, немножко по-другому.
а надурила ты при выводе smile.gif
выводиться будет так:
A[1,1] B[1,1] C[1,1] A[1,2] B[1,2] C[1,2]
A[2,1]...
spektr
а как исправить?
мисс_граффити
а как ты хочешь, чтобы выводилось?
A B C
или
А
B
C
?
spektr
вариант номер 2.Спасибо.
мисс_граффити
 for i:=1 to n do
begin
writeln;
for j:=1 to n do
write(A[i,j]:3);
end;
writeln;
for i:=1 to n do
begin
writeln;
for j:=1 to n do
write(B[i,j]:3);
end;

spektr
СПАСИБО!!!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.