Помощь - Поиск - Пользователи - Календарь
Полная версия: Units
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Анжелика
Ребят, я вроде сделала программу, но вот только возникает какая-то ошибка в подключении модуля. посмотрите, плз, подпрограмму и главную программу и укажите на ошибки. Спасибо.
Главная программа:
Код

Uses ModInsert;

Var a:Matrix;
    i,j,n,m:Integer;

Begin
  Writeln('Please, enter N, M:');
  Readln(n,m);
  Writeln('Enter array:');
  For i:=1 To n Do
    For j:=1 To m Do
      Read(a[i,j]);
  For i := 1 to m do ModInsert(a[i], n);
  Writeln('Result:');
  For i:=1 To n Do
    Begin
      For j:=1 To m Do
        Write(a[i,j],' ');
      Writeln;
    End;
  Readln;
End.

Модуль:

Код

Unit ModInsert;

Interface
const n=100; m=100;
Type
  arrType = Array[1 .. n] Of Integer;
  matrix = Array[1 .. m] Of ArrType;
  Procedure Sort(Var ar: arrType; n: Integer);
Implementation
  Procedure Sort;
  Var i, j, T: Integer;
  Begin
        For i := 1 To n do
        Begin
             T := ar[i];
             j := Pred(i);
             While (T < ar[j]) and (j > 0) Do
             Begin
                  ar[Succ(j)] := ar[j];
                  Dec(j);
             End;
             ar[Succ(j)] := T;
        End;
  End;

End.
Malice
Вместо
For i := 1 to m do ModInsert(a[i], n);
надо
For i := 1 to m do Sort(a[i], n);
Анжелика
Еще один вопрос: что нужно поменять в модуле, чтобы он отсортировывал не по возрастанию, а по убыванию.
klem4
Код
While (T < ar[j]) and (j > 0) Do


на

Код
While (T > ar[j]) and (j > 0) Do


blink.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.