powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Сортировка простым выбором.
1 сообщений из 1, страница 1 из 1
Сортировка простым выбором.
    #37220454
thxalol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень нужна помощь. Требуется отсортировать столбцы матрицы по неубыванию положительных сумм. Сортировка простым выбором. У меня здесь какие-то косяки. Не могу понять где, с виду вроде все нормально, подскажите как быть.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
 interface 
 type 
Treal=real;
Tint=integer;
Tarray= array  [ 0 .. 0 ]  of  TInt;
PArray=^TArray;
Tmatr= array  [ 0 .. 0 ]  of  PArray;
Pmatr=^Tmatr;
TUnSignedInt=word;
TError=TUnSignedInt;
TIndex=TunSignedInt;
Tkey=TUnSignedInt;
CMatrix= object 

 private 
matr:Pmatr;
 (***) 
 procedure  CMatrix.sort;
 type 
Tarr= array  [ 1 .. 1 ]  of  Tint;
Parr=^Tarr;
 var 
i,j,p,k,c,b:TUnSignedInt;
buf,x:TInt;
A:PArr;
need:longint;
flag:boolean;
 begin 
     need:=longint(n*sizeof(PArr));
      if  need>MaxAvail  then 
     flag:=false
      else 
      begin 
           getmem(A,need);
            for  j:= 1   to  n  do 
            begin 
                 for  i:= 1   to  m  do 
                 begin 
                       if  matr^[i]^[j]> 0   then 
                      A^[j]:=A^[j]+matr^[i]^[j];
                 end ;
           end ;
      end ;

(сама сортировка)

      for  c:= 1   to  n- 1   do 
      begin 
          k:=c;
          x:=A^[c];
           for  b:=c+ 1   to  n  do 
           begin 
                if  A^>x  [b]then 
                begin 
               x:=A^;
               k:=b;
                [b]end ;
           end ;
     x:=A^[k];
     A^[k]:=A^[c];
     A^[c]:=x;
      for  k:= 1   to  m  do 
      begin 
          buf:=matr^[k]^;
          mAtr^[k]^[b]:=mAtr^[k]^[c];
          mAtr^[k]^[c]:=Buf;
      [b]end ;
      end ;
 end ;
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Сортировка простым выбором.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]