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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.12.2009, 17:41
roman936 roman936 вне форума
Прохожий
 
Регистрация: 10.12.2009
Сообщения: 14
Репутация: 10
Вопрос подправить программу с матрицой!

добрый день всем! нужно сделать так чтобы массив вводился в 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  
Старый 16.12.2009, 17:54
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Перед началом сортировки "скопируй" содержимое СтрингГрида1 в СтрингГрид2, а уже потом проводи сортировку по СтрингГриду2.
Ответить с цитированием
  #3  
Старый 16.12.2009, 20:09
roman936 roman936 вне форума
Прохожий
 
Регистрация: 10.12.2009
Сообщения: 14
Репутация: 10
По умолчанию

можно подробней! я новичок
Ответить с цитированием
  #4  
Старый 16.12.2009, 20:54
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Во-первых, 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;
Первым циклом заполняем массив случайными числами в диапазоне от -10 до 10, а во втором все отрицательные числа сводим к нулю. Не проще ли было вместо этих двух циклов написать один?:
Код:
  for i:=0 to 36 do
  mas[i]:=Random(10));

В-третьих, после задания массива сразу идет сортировка. Думаю, следовало бы сначала занести сформированный массив в StringGrid1, потом отсортировать (вижу реализацию метожа пузырька, хотя он какой-то странный: почему j от 25 до i?), а потом аналогичным образом вывести массив в StringGrid2.

В-четвертых, не зная размерность таблицы (StringGrid.RowCount/ColCount) не готов сказать как лучше сделать заполнение, но кажется, что написанный метод содержит много излишек.
Ответить с цитированием
  #5  
Старый 17.12.2009, 09:16
roman936 roman936 вне форума
Прохожий
 
Регистрация: 10.12.2009
Сообщения: 14
Репутация: 10
По умолчанию

могу скинуть исходник! посмотри там же сортировка по заданию
Ответить с цитированием
  #6  
Старый 17.12.2009, 12:26
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Цитата:
Сообщение от roman936
могу скинуть исходник! посмотри там же сортировка по заданию
Ну надо было выложить сюда да и все
Ответить с цитированием
  #7  
Старый 17.12.2009, 17:32
roman936 roman936 вне форума
Прохожий
 
Регистрация: 10.12.2009
Сообщения: 14
Репутация: 10
По умолчанию

выложил исходник!! посмотрите
Вложения
Тип файла: rar 2 доделать.rar (8.2 Кбайт, 2 просмотров)
Ответить с цитированием
  #8  
Старый 17.12.2009, 19:14
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Ну держи. Надеюсь все понятно будет.

Последний раз редактировалось dr. F.I.N., 12.01.2012 в 17:09.
Ответить с цитированием
  #9  
Старый 17.12.2009, 22:15
roman936 roman936 вне форума
Прохожий
 
Регистрация: 10.12.2009
Сообщения: 14
Репутация: 10
По умолчанию

не запускается! скинь еще раз нормально
Ответить с цитированием
  #10  
Старый 18.12.2009, 09:02
roman936 roman936 вне форума
Прохожий
 
Регистрация: 10.12.2009
Сообщения: 14
Репутация: 10
По умолчанию

спасибо большое!! но сортировка неправильная стала а была правильная
Ответить с цитированием
  #11  
Старый 18.12.2009, 09:02
roman936 roman936 вне форума
Прохожий
 
Регистрация: 10.12.2009
Сообщения: 14
Репутация: 10
По умолчанию

спасибо большое!! но сортировка неправильная стала а была правильная
Ответить с цитированием
  #12  
Старый 18.12.2009, 09:05
roman936 roman936 вне форума
Прохожий
 
Регистрация: 10.12.2009
Сообщения: 14
Репутация: 10
По умолчанию

Цитата:
Сообщение от dr. F.I.N.
Ну держи. Надеюсь все понятно будет.
посмотрите плиз!
Ответить с цитированием
  #13  
Старый 18.12.2009, 09:16
roman936 roman936 вне форума
Прохожий
 
Регистрация: 10.12.2009
Сообщения: 14
Репутация: 10
По умолчанию

то есть мне нужна такая сортировка как эта к примеру:

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  
Старый 18.12.2009, 19:55
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Ну тут не сортируется змейкой, а змейкой выводится. А сортировка твоя...ничего не менял, только чуток подправил. А вот на вывод я не обратил внимания и сделал по столбцам....подскажу завтра...сегодня уже тяжело (командировка )
Ответить с цитированием
  #15  
Старый 19.12.2009, 09:11
roman936 roman936 вне форума
Прохожий
 
Регистрация: 10.12.2009
Сообщения: 14
Репутация: 10
По умолчанию

хорошо! жду ответа! посмотри если не трудно
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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