Помощь - Поиск - Пользователи - Календарь
Полная версия: матрица являющаяся суммой двух других
Форум «Всё о Паскале» > 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
СПАСИБО!!!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.