Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2009, 21:39   #1
Nerside92
 
Регистрация: 13.12.2009
Сообщений: 3
По умолчанию Транспонировать матрицу

Даны две матрицы А и B.Транспонировать ту из них,где максимальный элемент больше.

Помогите решить,я плохо разбираюсь в процедурах и функциях,вот программа:

Код:
program t;
const nmax=100;
type mas=array [1..nmax,1..nmax] of integer;
var a,b,C:mas;
    i,j,amax,bmax,n : integer;
    procedure trans (var x : mas);
    var y:integer;
      begin
        for i:=1 to n-1 do
         begin
          for j:=1 to n+1 do
           begin
            y:=x[i,j];
            x[i,j]:=x[j,i];
            x[j,i]:=y;
           end;
           end;
           for i:=1 to n do
           begin
           for j:=1 to n do
           C[i,j]:=x[i,j];
           end;
         end;
           begin
             writeln ('vvedite n');
             readln (n);
             writeln ('vvedite matr A');
              for i:=1 to n do begin
                for j:=1 to n do read (a[i,j]);
                 readln;
                 end;
              writeln ('vvedite matr B');
               for i:=1 to n do
                 begin
                   for j:=1 to n do read (b[i,j]);
                   readln;
                   end;
                 amax:=a[1,1];
                 bmax:=b[1,1];
                   for i:=1 to n do
                     begin
                       if a[i,j]>amax then
                         amax:=a[i,j];
                       if b[i,j]>bmax then
                         bmax:=b[i,j];
                     end;
                 if amax>bmax then
                 trans (a)
                 else
                 trans (b);
                 writeln ('c');
                 for i:=1 to n do
                   begin
                     for j:=1 to n do
                       write (c[i,j]);
                       writeln;
                     end;
                  readln;
                  end.
В начале через процедуру я решил,препод сказал,что нада в этом месте через функцию решить:

Код:
amax:=a[1,1];
                 bmax:=b[1,1];
                   for i:=1 to n do
                     begin
                       if a[i,j]>amax then
                         amax:=a[i,j];
                       if b[i,j]>bmax then
                         bmax:=b[i,j];
А вот дальше как процесс будет проходить?

Последний раз редактировалось Nerside92; 24.12.2009 в 22:22.
Nerside92 вне форума Ответить с цитированием
Старый 24.12.2009, 21:40   #2
Nerside92
 
Регистрация: 13.12.2009
Сообщений: 3
По умолчанию

Ах да,у меня в программе есть матр С,её там не будет
Nerside92 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как умножить матрицу(3на4) на матрицу(4на3) в делфи? Ромка678 Помощь студентам 1 28.11.2009 08:01
Транспонировать матрицу(Без исп. доп. массивов)) Doublefaced Помощь студентам 4 27.06.2009 13:03
Организовать матрицу 24nastya11 Общие вопросы C/C++ 3 15.06.2009 13:29
Объясните пожалуйста как можно считать значения в этом файле в вектор, 4 -ую матрицу, 6-ую матрицу ciaonataha Помощь студентам 1 30.03.2009 20:57
Транспонировать квадрат,в нижнем левом углу которого находится минимальный элемент zidan671 Помощь студентам 14 13.03.2009 22:05