Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [pascal] Подпрограмма что формирует массив


Автор: ArniLand 12.1.2010, 14:04
Двухмерный массив нужно сформировать в процедуре, передать его в функцию и там подсчитать элементы главной диагонали. Затем вернуть подсчитаное значение в основную программу. Помогите решить пожалуйста задачу

Автор: ТоляМБА 12.1.2010, 15:31
Код
const
   n=5;
type
   ta=array[1..n,1..n] of integer;
var
   a:ta;
   i,j:integer;

Function FDiag(b:ta):integer;
var
   id,s:integer;
begin
   s:=0;
   for id:=1 to n do
      s:=s+b[id,id];
   FDiag:=s;
end;

Procedure PArrCre;
var
   ip,jp:integer;
begin
Randomize;
   for ip:=1 to n do
      for jp:=1 to n do
          a[ip,jp]:=Random(21);
end;

begin
     PArrCre;
     for i:=1 to n do
     begin
        for j:=1 to n do
           write(a[i,j],' ');
        writeln;
     end;
     writeln('sum diag:');
     writeln(FDiag(a));
readln;
end.


Размерность массива в константе n. Сейчас стоит 5, можешь менять на другую.

Автор: ArniLand 12.1.2010, 21:22
как мы определили что делает основная программа?

Автор: ТоляМБА 13.1.2010, 17:22
Цитата(ArniLand @  12.1.2010,  23:22 Найти цитируемый пост)
как мы определили что делает основная программа? 
Где мы были во время лекций?
1-7 объявления глобальных констант и переменных, 29-40 код основной программы. Вам каждую строку расписать?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)