Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ матрица являющаяся суммой двух других

Автор: spektr 19.12.2006 0:07

у меня есть подозрение что гдето я это уже видела,но я никак не могу это найти теперь.если не сложно хоть ссылку на подобное киньте,а лучше объясните где я надурила.



ЗАДАЧА:
Вычислите матрицу 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.

Автор: мисс_граффити 19.12.2006 0:24

видела ты, наверное, в 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 19.12.2006 0:47

а как исправить?

Автор: мисс_граффити 19.12.2006 0:58

а как ты хочешь, чтобы выводилось?
A B C
или
А
B
C
?

Автор: spektr 19.12.2006 1:06

вариант номер 2.Спасибо.

Автор: мисс_граффити 19.12.2006 1:11

 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 19.12.2006 1:31

СПАСИБО!!!!!