Показать сообщение отдельно
  #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) не готов сказать как лучше сделать заполнение, но кажется, что написанный метод содержит много излишек.
Ответить с цитированием