Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

упорядовачение двухмерново масива

11K
16 мая 2005 года
x3mik
5 / / 16.05.2005
Zdraste u mneia viznikla problema mi seicias izuciajem dvuxmernij masiv u nado zzdelat takuju zada4ku zapolnit masiv i uporiado4it ego v poriadke vozrastanija , kak jego zapolnit i vivesti ja znaju ,problema v tom sto neznaju kak sdelat stobi uporiado4it idei:
nado s cemto sravnivat no scem ja dumaju mozet pervij element s ostalnimi zatem vtoroj element s ostalnimi no neznaju kak eto zdelat .
kak podrugomu zdlat nepredstavliaju. i dango varianta toze pozalsta pomogite! :roll:
11K
16 мая 2005 года
x3mik
5 / / 16.05.2005
nikto neznaet :(
9.5K
19 мая 2005 года
OdDi
8 / / 29.01.2005
Цитата:
Originally posted by x3mik
nikto neznaet :(


На Паскале это довольно утомительно...
Переходи на С, тогда помогу... Хотя я помучаюсь и выложу тебе код на Паскале...

9.5K
20 мая 2005 года
OdDi
8 / / 29.01.2005
А насчет идеи, то идея очень простая.
Заводишь какую-нибудь логическую переменную, isChaos, например. Образуешь цикл по всему массиву и сравниваешь два соседних элемента. если они стоят не в нужном порядке, меняшь их, потом isChaos=True. как дойдешь до конца массива, смотришь на isChaos. если он true, то начинай цикл заново (не забыв в начале сделать его false). если он false, то массив упорядочен.
Правда это упорядочивание по строкам, а я не знаю какое нужно тебе.
7.7K
21 мая 2005 года
Elder386
38 / / 06.04.2005
Цитата:
Originally posted by x3mik
uporiado4it ego v poriadke vozrastanija


Что именно тебе нужно? Двухмерный можно упорядочить по-разному. Наверное, тебе надо сначала по одному параметру, а потом по-другому?
Тогда самый простой способ – пузырьком. Если надо (еще), приведу пример на паскале.
Надо?

11K
23 мая 2005 года
x3mik
5 / / 16.05.2005
da esio nado nu ja napisu primer vvoditsa masiv
-1,5,2,8,-6,9,12,1,-6
v nacele on budet vigledit tak :
-1 5 2
8 -6 9
12 1 -6
tak kak zadajom takuju tablicu
t:array [1..3,1..3]of integer;
a dolzno polucitsa takaja tablica
-6 -6 -1
1 2 5
8 9 12
nadejus sejcias poniatno napisal :roll:
7.7K
24 мая 2005 года
Elder386
38 / / 06.04.2005
Код:
Const  MaxX = 3;  MaxY = 3;
Type Element=Integer;
Var
  T : Array [1..MaxX, 1..MaxY] of Element;
  X1, Y1, X2, Y2 : Integer;
  L1, L2 : Integer; {Poriadkoviye nomera elementov}
  Tmp : Element;
Begin
  WriteLn;
  WriteLn('---------');
  WriteLn ('T[1,1] .. T[',MaxX, ',', MaxY, '] =');
  (******Vvod znacheniy*******)
  For Y1 := 1 to MaxY do
    For X1 := 1 to MaxX do Read (T[X1,Y1]);

  (*******Sortirovka**********)
  For L1 := 1 to MaxX*MaxY do Begin {Poriadkoviy nomer odnogo elementa}
    X1 := (L1-1) mod MaxX + 1; {Rasschet ego koordinati X}
    Y1 := (L1-1) div MaxX + 1; {Rasschet ego koordinati Y}
    For L2 := L1+1 to MaxX*MaxY do Begin {Poriadkoviy nomer drugogo elementa}
      X2 := (L2-1) mod MaxX + 1; {Rasschet ego koordinati X}
      Y2 := (L2-1) div MaxX + 1; {Rasschet ego koordinati Y}
      If T[X1, Y1] > T[X2, Y2] then Begin  {Meniayem mestami}
        Tmp := T[X1, Y1];
        T[X1, Y1] := T[X2, Y2];
        T[X2, Y2] := Tmp;
      End;
    End;
  End;

  (********Vivod rezultata**********)
  WriteLn ('Result:');
  For Y1 := 1 to MaxY do Begin
    For X1 := 1 to MaxX do Begin
      Write (T[X1, Y1], #32);
    End;
    WriteLn;
  End;

End.


Можно, конечно, было и совсем по-другому сделать, например, использовать одномерный массив (номер в нем определялся бы по формуле (Y-1)*MaxX+X ). Еще, проще было бы начинать массивы не с нуля, а с единицы (тогда меньше бы отнимать и прибавлять пришлось бы). Циклы можно было организовывать с помощью перебора X1:Y1 и X2:Y2, а не рассчитывать их каждый раз. Но я решил, что так понятнее (стиль Паскаля).
9.5K
25 мая 2005 года
gmJay
11 / / 22.05.2005
Зайди ,к примеру, на algolist.manual.ru. Там довольно неплохо описаны алгоритмы сортировки, сам по нему к экзамену готовился.
11K
26 мая 2005 года
x3mik
5 / / 16.05.2005
bolsoe spasibo ja imenno etogo i hotel :) :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог