![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Помогите пожалуйста отсортировать массив
1 2 3 4 5 6 7 8 9 10........ 8 столбцов 8 строк по строкам вверх вниз, по столбцам вверх вниз и по диагонали |
|
#2
|
|||
|
|||
|
помогите кто чем может плиз!!!!!!!!!!!!
|
|
#3
|
|||
|
|||
|
Поподробнее.
Какие правила сотрировки? Т.е. как я должен сравнивать строку со строкой и столбец со столбцом. |
|
#4
|
|||
|
|||
|
по срокам сверху вниз и снизу вверх, по строкам слева направо и наоборот, как то так ничего больше в задании не указано(
|
|
#5
|
|||
|
|||
|
Ну, что в задании у тебя указано, мне как то без разницы. Вопрос в том, как ты понял задание. Вот смотри. Что значит "по строкам сверху вниз"? Это значит, что надо переставить строки в порядке возрастания/убывания первого элемента? Или сортировать по сумме элементов строки? Или еще как? Теперь "по строка слева направо и наоборот". Что это занчит? Надо отсортировать все строки (т.е. элементы внутри каждой строки)? Или что-то еще?
Так что иди сначала к преподу и выясняй все эти вопросы. ЗЫ. Кстати, наврядли кто будет тебе тут нахаляву делать все задание. Так что готовься делать сам и спрашивать тут конкретику. Посказка тебе - тебя спасут циклы и сортировка пузырьком ![]() |
|
#6
|
||||
|
||||
|
Сортировка пузырьком...
Код:
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
|
|||
|
|||
|
строки нужно переставлять в порядке возрастания первого элемента, столбцы так же, а массив нужно из файла загружать?
|
|
#8
|
|||
|
|||
|
сорри за тупые вопросы просто в массивах я вообще не шарю...
|
|
#9
|
|||
|
|||
|
помогите кто нибудь пожалуйста...
|
|
#10
|
|||
|
|||
|
Дык тебе же код дали...
|
|
#11
|
|||
|
|||
|
Код:
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
|
|||
|
|||
|
Дык у тебя вывода-то и нету...
А зачем тебе f1book??? StringGrid тебе хватит за глаза. |
|
#14
|
|||
|
|||
|
в стрингрид только 5 столбцов и 5 строк, 8 на 8 не могу сделать
|
|
#15
|
||||
|
||||
|
Эти свойства отвечают за количество колонок/строк
Код:
StringGrid1.ColCount := 8; StringGrid1.RowCount := 8; |