Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2011, 07:51   #1
feras
Пользователь
 
Регистрация: 24.10.2010
Сообщений: 21
По умолчанию сортировка массива

помогите плиз)))
задан a:array[1..5]of string
как можо сорировать его в StringGrid так чтобы элементы с нечетнами индексами в солбце а элементы с четнами индексами в другом солбце.
feras вне форума Ответить с цитированием
Старый 23.05.2011, 08:32   #2
A-IX-2
Форумчанин
 
Аватар для A-IX-2
 
Регистрация: 08.10.2010
Сообщений: 101
По умолчанию

Если индекс делится на 2 без остатка - в один столбец, если с остатком - в другой.
"Думаешь, будет трудно? Конечно, будет! Но, только закаляя дух, людьми становятся люди!"
A-IX-2 вне форума Ответить с цитированием
Старый 23.05.2011, 08:33   #3
feras
Пользователь
 
Регистрация: 24.10.2010
Сообщений: 21
По умолчанию

Это все словами а программно?
feras вне форума Ответить с цитированием
Старый 23.05.2011, 09:10   #4
A-IX-2
Форумчанин
 
Аватар для A-IX-2
 
Регистрация: 08.10.2010
Сообщений: 101
По умолчанию

Вот как-то так
Код:
procedure TForm1.Button1Click(Sender: TObject);
  var
    a: array[1..5]of real;
    i: integer;
begin

  For i:=1 to 5 do
  begin
    a[i]:=i;
    If i mod 2 <> 0 then StringGrid1.Cells[1,i]:=FormatFloat('0.###',a[i])//если остаток от деления отличен от 0, то значение записывается в первую колонку
    else StringGrid1.Cells[2,i]:=FormatFloat('0.###',a[i]);               //иначе(если остаток 0) - во вторую
  end;

end;
"Думаешь, будет трудно? Конечно, будет! Но, только закаляя дух, людьми становятся люди!"

Последний раз редактировалось A-IX-2; 23.05.2011 в 09:13.
A-IX-2 вне форума Ответить с цитированием
Старый 23.05.2011, 09:29   #5
feras
Пользователь
 
Регистрация: 24.10.2010
Сообщений: 21
По умолчанию

вот тк олучилось
1
2
3
4
а мне надо
1 2
3 4
feras вне форума Ответить с цитированием
Старый 23.05.2011, 09:42   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

пробуйте:
Код:
procedure TForm1.Button1Click(Sender: TObject);
const N = 5;
  var
    a: array[1..N]of real;
    i: integer;
begin

  // заполним массив - для отладки просто 1 2 3 4 5
  For i:=1 to N do a[i]:=i;

  // уберём заголовки в гриде (просто для простоты...
  StringGrid1.FixedCols := 0;
  StringGrid1.FixedRows := 0;

  // зададим гриду нужный размер
  StringGrid1.ColCount := 2;
  StringGrid1.RowCount := (N div 2);
  if Odd(N) then StringGrid1.RowCount := StringGrid1.RowCount + 1;

  for i:=1 to N do
  begin
    If odd(i)
      then StringGrid1.Cells[0, (i-1) div 2]:=FormatFloat('0.###',a[i])
      else StringGrid1.Cells[1, (i-1) div 2]:=FormatFloat('0.###',a[i]);
  end;

end;

ps. А при чём здесь "Сортировка массива" ?!
Он же не сортируется - банально переносится в стрингрид по заданному правилу....
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.05.2011, 09:56   #7
feras
Пользователь
 
Регистрация: 24.10.2010
Сообщений: 21
По умолчанию

Болшое Спасибо!!!!!!
Все получилось
feras вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка массива методами предсортировки и слияния, и пирамидальная сортировка. lenny_24 Помощь студентам 2 17.04.2011 18:57
Сортировка массива nex 9119 Помощь студентам 1 21.11.2010 18:42
сортировка массива(c++) jambas92 Помощь студентам 0 09.10.2010 21:55
Сортировка массива...? Roberto Помощь студентам 2 11.04.2008 13:32
Сортировка массива RIO Помощь студентам 1 05.04.2008 17:39