Программа


PROGRAM Matrix;
CONST Quant=5; { Максимальное количество строк и столбцов матрицы }
TYPE Power=1..Quant; { Размерность массивов }
     Element=integer; { Тип элементов массивов }
     MatrixType=array[Power,Power] of Element; { Массив элементов (матрица)}

PROCEDURE ReadMatrix(var F:text; var A:MatrixType); { Процедура ввода вектора }
  Var i:Power;     { Счетчик строк }
      j:Power;     { Счетчик столбцов }
  Begin
    Reset(F); { Открытие файла для чтения }
    for i:=1 to Quant do
    begin
      for j:=1 to Quant do Read(F,A[i,j]); { Чтение элемента матрицы }
      ReadLn(F)    { Чтение конца строки файла }
    end;
    Close(F) { Закрытие файла }
  End;
PROCEDURE WriteMatrix(var F:text; Head:string; var A:MatrixType); { Процедура вывода матрицы }
  Var i:Power;               { Счетчик строк }
      j:Power;               { Счетчик столбцов }
  Begin
    Rewrite(F);                       { Открытие файла для записи }
    if Head<>'' then WriteLn(F,Head); { Вывод заголовка }
    for i:=1 to Quant do                { Цикл вывода строк }
    begin
      for j:=1 to Quant do                { Цикл вывода стрки }
        Write(F,A[i,j]:2,'   ');       { Вывод элемента }
      WriteLn(F)                        { Вывод конца строки }
    end;
    Close(F)                          { Закрытие файла }
  End;
FUNCTION GetSum(A:MatrixType):Element; { Функция вычисления суммы элементов }
  Var i:Power;               { Счетчик строк }
      j:Power;               { Счетчик столбцов }
      Sum:Element;           { Переменная для набора суммы }
  Begin
    Sum:=0; { Сброс суммы }
    for i:=1 to Quant do          { Цикл просмотра строк }
      for j:=i to Quant do          { Цикл просмотра стрки }
        Sum:=Sum+A[i,j];               { Набор суммы }
    GetSum:=Sum;   { Определение значения функции }
  End;
VAR A,B:MatrixType; { Исходная и создаваемая матрицы }
    F:text; { Указатель файловой переменной }
BEGIN
  WriteLn;                             { Пропуск строки }
  Assign(F,'init.dat');                { Связывание указателя с именем файла }
  ReadMatrix(F,A);                     { Ввод матрицы }
  WriteLn('Сумма элементов матрицы, лежащих не ниже главной диагонали ',GetSum(A));  { Вычисление и вывод суммы на экран }
  WriteLn;                             { Пропуск строки }
  Assign(F,'res.txt');                 { Связывание указателя с именем файла }
  Rewrite(F); { Открытие файла для записи }
  WriteLn(F,'Сумма элементов матрицы, лежащих не ниже главной диагонали ',GetSum(A));{ Вычисление и вывод суммы в файл }
  Close(F); { Закрытие файла }
END.

Бесплатные примеры программ
Примеры написанных программ
Помощь студентам по программированию