![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
добрый день всем! нужно сделать так чтобы массив вводился в StringGrid1, а сортировался в StringGrid2!! у меня сразу сортирует в одном StringGrid1. помогите доделать!
Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
Randomize;
for i:=0 to 36 do
mas[i]:=(10-Random(20));
for i:=0 to 36 do
If mas[i]<0 then mas[i]:=0;
for i:=1 to 36 do
begin
for j:=25 downto i do
if mas[j-1]>mas[j] then
begin
b:=mas[j-1];
mas[j-1]:=mas[j];
mas[j]:=b;
end;
end;
for i:=0 to 36 do
s:=0;
for i:=StringGrid1.RowCount-1 downto 0 do
if i mod 2=0
then
for j:=0 to StringGrid1.ColCount-1 do
begin
StringGrid1.Cells[j,i]:=IntToStr(mas[s]);
s:=s+1;
end
else begin
for k:=StringGrid1.RowCount-1 downto 0 do
if i mod 2=1
then
begin
StringGrid1.Cells[k,i]:=IntToStr(mas[s]);
s:=s+1;
end;
end;
end; |
|
#2
|
||||
|
||||
|
Перед началом сортировки "скопируй" содержимое СтрингГрида1 в СтрингГрид2, а уже потом проводи сортировку по СтрингГриду2.
|
|
#3
|
|||
|
|||
|
можно подробней! я новичок
|
|
#4
|
||||
|
||||
|
Во-первых, RandomIze достаточно вызвать всего один раз в файле проекта (.dpr) сразу после begin.
Во-вторых, не пойму этого оборота: Код:
for i:=0 to 36 do mas[i]:=(10-Random(20)); for i:=0 to 36 do If mas[i]<0 then mas[i]:=0; Код:
for i:=0 to 36 do mas[i]:=Random(10)); В-третьих, после задания массива сразу идет сортировка. Думаю, следовало бы сначала занести сформированный массив в StringGrid1, потом отсортировать (вижу реализацию метожа пузырька , хотя он какой-то странный: почему j от 25 до i?), а потом аналогичным образом вывести массив в StringGrid2.В-четвертых, не зная размерность таблицы (StringGrid.RowCount/ColCount) не готов сказать как лучше сделать заполнение, но кажется, что написанный метод содержит много излишек. |
|
#5
|
|||
|
|||
|
могу скинуть исходник! посмотри там же сортировка по заданию
|
|
#6
|
||||
|
||||
|
Цитата:
![]() |
|
#7
|
|||
|
|||
|
выложил исходник!! посмотрите
![]() |
|
#8
|
||||
|
||||
|
Ну держи. Надеюсь все понятно будет.
Последний раз редактировалось dr. F.I.N., 12.01.2012 в 17:09. |
|
#9
|
|||
|
|||
|
не запускается! скинь еще раз нормально
|
|
#10
|
|||
|
|||
|
спасибо большое!! но сортировка неправильная стала а была правильная
![]() |
|
#11
|
|||
|
|||
|
спасибо большое!! но сортировка неправильная стала а была правильная
![]() |
|
#12
|
|||
|
|||
|
Цитата:
|
|
#13
|
|||
|
|||
|
то есть мне нужна такая сортировка как эта к примеру:
9 1 4 7 6 Сортированая : 8 8 9 9 9 1 8 3 2 7 Сортированая : 7 7 7 6 6 9 6 7 1 4 Сортированая : 3 4 4 5 5 5 9 2 8 5 Сортированая : 2 2 1 1 1 исходная матрица сортируется как бы змейкой Последний раз редактировалось roman936, 18.12.2009 в 09:20. |
|
#14
|
||||
|
||||
|
Ну тут не сортируется змейкой, а змейкой выводится. А сортировка твоя...ничего не менял, только чуток подправил. А вот на вывод я не обратил внимания и сделал по столбцам....подскажу завтра...сегодня уже тяжело (командировка
) |
|
#15
|
|||
|
|||
|
хорошо! жду ответа! посмотри если не трудно
|