Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.04.2010, 17:43
bullet92820 bullet92820 вне форума
Прохожий
 
Регистрация: 08.04.2010
Сообщения: 21
Репутация: 10
По умолчанию Сортировка двумерного массива

Помогите пожалуйста отсортировать массив
1 2 3 4 5 6 7 8
9 10........ 8 столбцов 8 строк
по строкам вверх вниз, по столбцам вверх вниз и по диагонали
Ответить с цитированием
  #2  
Старый 09.04.2010, 00:11
bullet92820 bullet92820 вне форума
Прохожий
 
Регистрация: 08.04.2010
Сообщения: 21
Репутация: 10
По умолчанию

помогите кто чем может плиз!!!!!!!!!!!!
Ответить с цитированием
  #3  
Старый 09.04.2010, 00:42
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Поподробнее.
Какие правила сотрировки? Т.е. как я должен сравнивать строку со строкой и столбец со столбцом.
Ответить с цитированием
  #4  
Старый 09.04.2010, 02:14
bullet92820 bullet92820 вне форума
Прохожий
 
Регистрация: 08.04.2010
Сообщения: 21
Репутация: 10
По умолчанию

по срокам сверху вниз и снизу вверх, по строкам слева направо и наоборот, как то так ничего больше в задании не указано(
Ответить с цитированием
  #5  
Старый 09.04.2010, 07:13
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, что в задании у тебя указано, мне как то без разницы. Вопрос в том, как ты понял задание. Вот смотри. Что значит "по строкам сверху вниз"? Это значит, что надо переставить строки в порядке возрастания/убывания первого элемента? Или сортировать по сумме элементов строки? Или еще как? Теперь "по строка слева направо и наоборот". Что это занчит? Надо отсортировать все строки (т.е. элементы внутри каждой строки)? Или что-то еще?
Так что иди сначала к преподу и выясняй все эти вопросы.

ЗЫ. Кстати, наврядли кто будет тебе тут нахаляву делать все задание. Так что готовься делать сам и спрашивать тут конкретику. Посказка тебе - тебя спасут циклы и сортировка пузырьком
Ответить с цитированием
  #6  
Старый 09.04.2010, 09:02
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Сортировка пузырьком...
Код:
var
 Arr : array of array of word;
 i, j, n, m, t: word;
begin
 SetLength(Arr, n,m);//Установить размер массива
 //Сортировка строк
 for j:=0 to n-1 do
  for i:=0 to n-j-1 do
   if Arr[i, m] > Arr[i+1, m] then
   begin
    t := Arr[i, m];
    Arr[i, m] := Arr[i+1, m];
    Arr[i+1, m] := t;
   end;
 //По аналогии делается сортировка столбцов
 for j:=0 to m-1 do
  for i:=0 to m-j-1 do
   if Arr[n, i] > Arr[n, i+1] then
   begin
    t := Arr[n, i];
    Arr[n, i] := Arr[n, i+1];
    Arr[n, i+1] := t;
   end;
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #7  
Старый 09.04.2010, 19:18
bullet92820 bullet92820 вне форума
Прохожий
 
Регистрация: 08.04.2010
Сообщения: 21
Репутация: 10
По умолчанию

строки нужно переставлять в порядке возрастания первого элемента, столбцы так же, а массив нужно из файла загружать?
Ответить с цитированием
  #8  
Старый 09.04.2010, 19:26
bullet92820 bullet92820 вне форума
Прохожий
 
Регистрация: 08.04.2010
Сообщения: 21
Репутация: 10
По умолчанию

сорри за тупые вопросы просто в массивах я вообще не шарю...
Ответить с цитированием
  #9  
Старый 10.04.2010, 22:06
bullet92820 bullet92820 вне форума
Прохожий
 
Регистрация: 08.04.2010
Сообщения: 21
Репутация: 10
По умолчанию

помогите кто нибудь пожалуйста...
Ответить с цитированием
  #10  
Старый 11.04.2010, 05:19
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Дык тебе же код дали...
Ответить с цитированием
  #11  
Старый 13.04.2010, 00:36
bullet92820 bullet92820 вне форума
Прохожий
 
Регистрация: 08.04.2010
Сообщения: 21
Репутация: 10
По умолчанию

Код:
var
  Form1: TForm1;
  Arr : array of array of integer;
 i, j, n, m, t: integer;
  

implementation

{$R *.dfm}



procedure TForm1.Button1Click(Sender: TObject);
begin

 SetLength(Arr, n,m);//Установить размер массива
 //Сортировка строк
 for j:=0 to n-1 do
  for i:=0 to n-j-1 do
   if Arr[i, m] > Arr[i+1, m] then
   begin
    t := Arr[i, m];
    Arr[i, m] := Arr[i+1, m];
    Arr[i+1, m] := t;

    F1Book1.NumberRC [i+2,j+2]:=arr[i,j];

   end;
 //По аналогии делается сортировка столбцов
 for j:=0 to m-1 do
  for i:=0 to m-j-1 do
   if Arr[n, i] > Arr[n, i+1] then
   begin
    t := Arr[n, i];
    Arr[n, i] := Arr[n, i+1];
    Arr[n, i+1] := t;
  
   end;
  


end.

сделал как написано, в f1book ничего не выводит как мне сделать чтобы выводило именно мой массив?
Ответить с цитированием
  #12  
Старый 13.04.2010, 00:59
bullet92820 bullet92820 вне форума
Прохожий
 
Регистрация: 08.04.2010
Сообщения: 21
Репутация: 10
По умолчанию

сделайте задание в долгу не останусь!
Ответить с цитированием
  #13  
Старый 13.04.2010, 04:11
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Дык у тебя вывода-то и нету...
А зачем тебе f1book??? StringGrid тебе хватит за глаза.
Ответить с цитированием
  #14  
Старый 13.04.2010, 16:26
bullet92820 bullet92820 вне форума
Прохожий
 
Регистрация: 08.04.2010
Сообщения: 21
Репутация: 10
По умолчанию

в стрингрид только 5 столбцов и 5 строк, 8 на 8 не могу сделать
Ответить с цитированием
  #15  
Старый 13.04.2010, 16:35
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Эти свойства отвечают за количество колонок/строк
Код:
StringGrid1.ColCount := 8;
StringGrid1.RowCount := 8;
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:34.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025