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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2010, 12:59   #1
peter065
Пользователь
 
Регистрация: 09.09.2010
Сообщений: 30
По умолчанию Подпрограммы

Здравствуйте. Подскажите пожалуйста, как составить прогу:Определить, след какой из матриц А(3´3) или В(4´4) является наименьшим. След матрицы – сумма элементов, расположенных на главной диагонали.При решении задачи использовать подпрограмму-процедуру. Обмен данными между главной программой и подпрограммой – через списки формальных и фактических параметров.
peter065 вне форума Ответить с цитированием
Старый 10.09.2010, 13:28   #2
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

считаем сумму элементов первой матрицы:
Код:
sum1:=0;
  for i:=1 to n do
  begin
  sum1:=sum1+mas1[i,i];
  end;
второй:
Код:
sum2:=0;
  for i:=1 to n do
  begin
  sum2:=sum2+mas2[i,i];
  end;
И сравниваем значения:
Код:
if sum1<sum2 then
  begin
  writeln('След меньше у массива А');
  end;
   if sum2<sum1 then
  begin
  writeln('След меньше у массива В');
  end;
   if sum1=sum2 then
  begin
  writeln('Равны');
  end;
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 10.09.2010, 13:41   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

http://www.programmersforum.ru/showthread.php?t=39517
Там пример суммы главной диагонали.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.09.2010, 13:54   #4
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Вот как-то так...
Код:
Const
  m=10;
Type
  matr:array[1..m,1..m] of byte;
Var
  A,B:matr;
  Sled1,Sled2:integer;
Procedure Sled(var sled:integer; matrix:matr; n:byte);
Var
  i:byte;
Begin
  sled:=0;
  for i:=1 to n do
    sled:=sled+matrix[i,i]
End;

Begin
  Sled(Sled1,A,3);
  Sled(Sled2,B,4);
  if Sled1=Sled2
    then //равны
    else
      if Sled1>Sled2
        then //след матрицы A больше
        else //след матрицы B больше
End.
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подпрограммы dusya9992 Паскаль, Turbo Pascal, PascalABC.NET 1 18.07.2010 15:31
Подпрограммы-процедуры, подпрограммы-функции в Pascal rishikesh Помощь студентам 19 18.05.2010 23:05
Подпрограммы Neyrone Помощь студентам 8 14.12.2009 12:56
ПОДПРОГРАММЫ! Linker88 Паскаль, Turbo Pascal, PascalABC.NET 4 21.04.2009 22:25