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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2014, 21:11   #1
Anonim41
Новичок
Джуниор
 
Регистрация: 24.06.2014
Сообщений: 1
По умолчанию дана матрица, заменить 1 столбец столбцом с минимальной суммой элементов, последний столбец заменить столбцом

Добрый вечер. Решил закодировать следующую задачу:
"дана матрица, заменить 1 столбец столбцом с минимальной суммой элементов, последний столбец заменить столбцом с максимальной суммой элементов".
Допустим матрицу я взял квадратную,6х6.
Решить задачу используя модули и текстовый вв\выв файлов.
Проблема в том,что при компиляции модулей,при использовании локальный формальных пар-ров в функциях выходит ошибка в строке:

Код Pascal
MIN:=g(SM)[1];
и
Код Pascal

MAX:=g(SM)[1];
код ошибки 122.
при дальнейшей компиляции в модуле с процедурами ошибка 26 в строках:
Код Pascal
B[i,nj1]:=A[i,MIN];
B[i,nj2]:=A[i,MAX];
Так же не уверен в главной программе использующая эти модули.
Помоги разобраться.
Коды модулей и программы:
Код Pascal
Код:
UNIT E;
INTERFACE
TYPE matr=array [1..6,1..6] of real;
var A:matr;
    B:matr;
    MIN,MAX,SM:real;
    f1,f2:text;
IMPLEMENTATION
Begin
  ASSIGN(f1,'t.pas');
  RESET(f1);
  ASSIGN(f2,'c.pas');
  REWRITE(f2);
End.
Код Pascal
Код:
UNIT FF;
INTERFACE
USES E;
  function MN(var A;n:integer):real;
  function MX(var A;n:integer):real;
IMPLEMENTATION
USES PP;
  function MN;
TYPE g=array [1..10922] of real;
VAR MIN,i:integer;
 
Begin
  MIN:=g(SM)[1];
  FOR j:=2 to n do
    begin
      IF MIN > g(SM)[j] then
        MIN:=g(SM)[j]
    end;
  MN:=MIN;
End;
function MX;
TYPE g=array [1..10922] of real;
VAR MAX,i:integer;
Begin
  MAX:=g(SM)[1];
  FOR j:=2 to n do
    begin
      IF MAX < g(SM)[j] then
        MAX:=g(SM)[j]
    end;
  MAX:=g(SM)[j];
END.
Код Pascal
Код:
UNIT PP;
INTERFACE
USES E;
procedure SM(var A:matr;n,m:integer;var SM);
procedure NEW(var A:matr;n,nj1,nj2:integer;var B:matr);
IMPLEMENTATION
USES FF;
procedure SM;
TYPE mas=array [1..10922] of real;
Var i,j:integer;
Begin
  FOR j:=1 to n do
    begin
      mas(SM)[j]:=0;
      for i:=1 to m do
        mas(SM)[j]:=mas(SM)[j]+A[i,j]
    end;
ENd;
  procedure NEW;
var i:integer;
Begin
  FOR i:=1 to n do
    begin
      B[i,nj1]:=A[i,MIN];
      B[i,nj2]:=A[i,MAX];
    end;
end;
End.
Код Pascal
Код:
PROGRAM MM;
USES E,FF,PP;
Begin
  for i:=1 to 6 do
    begin
      for j:=1 to 6 do
        read(f1,A[i,j]);
    end;
  NEW(var A:matr;n,nj1,nj2:integer;var B:matr);
  for i:=1 to 6 do
    begin
      for j:=1 to 6 do
        write(f2,B[i,j]);
    end;
  CLOSE(f1);
  CLOSE(f2);
END.
Спасибо.

Последний раз редактировалось Stilet; 24.06.2014 в 22:01.
Anonim41 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана матрица m на m,поменять первую строку и последний столбец местами Never_Die Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 13.05.2013 13:42
Вставить нулевую строку и нулевой столбец перед строкой и столбцом где находится первый минимальный элемент Proskurina Помощь студентам 1 03.03.2013 19:24
Дана матрица А[m,n]. Найти первый столбец, сумма элементов которого равна сумме элементов первой строки. edikesh Помощь студентам 3 01.12.2011 19:21
C# Дана матрица А[m,n].Удалить из неё столбец, содержащий максимальное число чётных элементов. edikesh Помощь студентам 7 23.11.2011 16:45
поменять местами столбец с максимальным элементом на главной диагонали со столбцом с заданным номером m. Visual C++ hunter08923 Помощь студентам 0 22.06.2011 00:14