Сортировка массива на Паскале

MayBe
Сообщения: 7
Зарегистрирован: 03 май 2008, 18:16

=) мне преподаватель подсказала, как делать) и я кажется написала что-то больше похожее на правду...
но все равно... программка почему-то зацикливается в одном месте и все(( не могу понять, почему....
да... и она еще сказала, переставлять не столбцы, а строки...
в общем, вот...

Код: Выделить всё

uses crt;
const n = 5;
      m = 6;
type mas = array [1..m] of integer;
var  a:array [1..n] of mas;
     sum:array [1..n*2] of longint;
     i,j:integer;
     buf:longint;
begin
 clrscr;
 randomize;
 for i:=1 to n do
  begin
   sum[i]:=0;
   for j:=1 to m do
    begin
     a[i,j]:=random(100);
     sum[i]:=sum[i]+a[i,j];
     write(a[i,j]:7);
    end;
   writeln(' sum[',i,']=',sum[i]);
   sum[i+n]:=i;
  end;
 writeln;
 for i:=1 to n do
  begin
   j:=1;
   repeat
    if a[i,j] > a[i,j+1] then
     begin
      buf:=a[i,j];
      a[i,j]:=a[i,j+1];
      a[i,j+1]:=buf;
      if j<>1 then dec(j);
     end
    else inc(j);
    until j>=m;
   end;
  i:=1;
  repeat
   if sum[i] < sum[i+1] then
    begin
     buf:=sum[i];
     sum[i]:=sum[i+1];
     sum[i+1]:=buf;
     buf:=sum[n+i];
     sum[n+i]:=sum[n+i+1];
     sum[n+i+1]:=buf;
     if i<>1 then dec(i);
    end
   else inc(i);
  until i>=n;
  for i:=1 to n do
   begin
   buf:=sum[n+i];
    for j:=1 to m do
     write(a[buf,j]:7);
    writeln(' sum[',buf,']=',sum[i]);
   end;
 writeln;
 readkey;
end.
C_O_D_E
Сообщения: 296
Зарегистрирован: 13 фев 2008, 20:10
Откуда: Беларусь. Орша
Контактная информация:

А компилировать вы пробовали?
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.
MayBe
Сообщения: 7
Зарегистрирован: 03 май 2008, 18:16

пробовала...
но программа зацикливается.. и мне афигенное количество раз выдается одна строка...
Help
Сообщения: 1
Зарегистрирован: 05 мар 2010, 17:38

MayBe писал(а):пробовала...
но программа зацикливается.. и мне афигенное количество раз выдается одна строка...
По моему у вас что-то не то с Паскалем у меня данная программа вполне рабочая...
Ответить