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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2014, 15:37   #1
Jane_Air
Пользователь
 
Регистрация: 03.11.2013
Сообщений: 40
По умолчанию Делфи. Файлы,массивы,сортировка

Помогите,пожалуйста, найти ошибку

Условие:Файл содержит квадратный массив действительных чисел. Отсортировать элементы его главной диагонали по убыванию методом прямого выбора.

Код:
program dz_2;

const Nmax=1000;
type matr=array[1..Nmax,1..Nmax] of integer;
type mass=array[1..Nmax] of integer;


procedure swap(var a, b : integer);
 var t : integer;
begin
 t := a; a := b; b := t;
end;

procedure readMatr(var a:Matr; var m:byte);
 var f:text;
     i,j,n:byte;
begin
 assign(f, 'matrix.txt');
 reset(f);
 readln(f,m);
 n:=m;
 for i:=1 to m do
 for j:=1 to n do
 read(f,a[i,j]);
 close(f);
end;

procedure form_b(var b:mass;m:byte;a:matr);
var i:byte;
begin
  for i:=1 to m do b[i]:=a[i,i];
end;

procedure selectSort(var b:mass; m:integer);
 var iMax:word;
     i, k : word;
begin
 for k:=m downto 2 do
 begin
 iMax:=1;
 for i:=2 to k do
 if b[i]>b[iMax] then iMax:=i;
 if iMax<>k
 then swap(b[k], b[iMax])
 end;
end;

procedure form_a(var a:matr;b:mass;m:byte);
var i,x:byte;
begin
  x:=1;
  for i:=m downto 1 do begin
    a[i,i]:=b[x];
    inc(x);
  end;
end;

procedure seeMatr(a:Matr;m:byte);
 var f:text;
     i,j,n:byte;
begin
 assign(f, 'matrix.txt');
 rewrite(f);
 n:=m;
 for i:=1 to m do begin
            for j:=1 to n do
            write(f,a[i,j]);
            writeln;
                  end;
 close(f);
end;


var f:text;
    a:Matr;
    m:byte;
    b:mass;
begin
 readMatr(a,m);
 form_b(b,m,a);
 selectSort(b,m);
 form_a(a,b,m);
 seeMatr(a,m);
end.
Jane_Air вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
файлы на делфи angelap Помощь студентам 6 15.05.2013 13:57
Делфи.Файлы Faron Помощь студентам 0 08.11.2011 19:25
Делфи.Файлы. pif Помощь студентам 3 02.03.2010 13:18
Файлы. Лексикографическая сортировка. stear Общие вопросы C/C++ 2 09.12.2009 20:14