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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2009, 21:17   #1
KoFeMaN
Пользователь
 
Аватар для KoFeMaN
 
Регистрация: 29.11.2009
Сообщений: 13
По умолчанию Проблема с подпрограммами

Ув.программисты я написал программу которая находит сумму максимальных элементов псевдодиагоналей.т.е.диагоналей матрицы перпендикулярных главной диагонали.суть в том что когда я начал вставлять код в процедуры(это нужно по заданию)код не выдает ошибки а просто не производит расчетов и выдает ноль
Код:
program lab4;
Const m=4;
type t_matr =array [1..m,1..m] of integer;
procedure read_matr(a:t_matr);
var i,j:byte;
begin
 for i:=1 to m do
    for j:=1 to m do
      read(a[i,j])
end;
procedure under_diag(const a:t_matr;var s,max:integer);
var i,j,t:byte;
begin
  t:=m;
  while j<>0 do
    begin
      j:=m;
      i:=t-1;
      t:=i;
      max:=a[i,j];
      while i<>(m+1) do
        begin
          if a[i,j]>max then
            max:=a[i,j];
          i:=i+1;
          j:=j-1;
        end;
      s:=s+max;
  end
end;
 procedure on_diag(const a:t_matr;var s,max:integer);
 var i,j,t:byte;
 begin
  t:=m;
  while (j<>1) and (i<>3) do
    begin
      j:=t-1;
      i:=1;
      t:=j;
      max:=a[i,j];
      while j<>0 do
        begin
          if a[i,j]>max then
            max:=a[i,j];
          i:=i+1;
          j:=j-1;
        end;
      s:=s+max;
    end
 end;
Var max,s:integer;
    a:t_matr;

begin
  s:=0;
  read_matr(a);
  under_diag(a,s,max);
  on_diag(a,s,max);
  Writeln(s);
  readln(s);
end.
KoFeMaN вне форума Ответить с цитированием
Старый 30.11.2009, 00:57   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Код:
procedure read_matr(var a:t_matr);
var i,j:byte;
begin
 for i:=1 to m do
    for j:=1 to m do
      read(a[i,j])
end;
eoln вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи на многомерные массивы и разработка программ с подпрограммами (Pascal) hills Помощь студентам 3 15.09.2009 11:09
Задача с подпрограммами. kGxDD Паскаль, Turbo Pascal, PascalABC.NET 0 09.05.2009 20:01
Задача на двумерные массивы( с подпрограммами) DimoniusX Помощь студентам 4 28.04.2009 19:21
Массив с подпрограммами medic357 Паскаль, Turbo Pascal, PascalABC.NET 0 05.04.2009 18:49
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37