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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.08.2011, 11:28   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
  for i:=Low(a) to High(a)-1 do
  begin
    if a[i] > a[i + 1] then
      begin // обменяем k-й и k+1-й элементы
        buf := a[i];
        a[i] := a[i + 1];
        a[i + 1] := buf;
      end;
  end;

p.s. за работоспособность Вашего "кода" я лично не поручусь...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.08.2011, 11:47   #12
TotKtoNado
юзер
Форумчанин
 
Аватар для TotKtoNado
 
Регистрация: 22.12.2010
Сообщений: 245
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Код:
  for i:=Low(a) to High(a)-1 do
  begin
    if a[i] > a[i + 1] then
      begin // обменяем k-й и k+1-й элементы
        buf := a[i];
        a[i] := a[i + 1];
        a[i + 1] := buf;
      end;
  end;

p.s. за работоспособность Вашего "кода" я лично не поручусь...
у меня в лабеле должно появляться поочередно цифры 54321
а так просто написано массив отсортирован
Код:
begin
  i:=0;
  StringGrid1.Col:=0;
  while StringGrid1.Col<StringGrid1.ColCount-1 do
  Begin
    SetLength(a,i+1);
    a[i] := StrToInt(StringGrid1.Cells[StringGrid1.Col, 0]);
    StringGrid1.Col:=StringGrid1.Col+1;
    i:=i+1;
  End;
незнаю что не правильно?

Последний раз редактировалось TotKtoNado; 22.08.2011 в 11:50.
TotKtoNado вне форума Ответить с цитированием
Старый 22.08.2011, 13:18   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
незнаю что не правильно?
да всё неправильно!

ладно. давайте так поступим..
Вы расскажете, что у Вас есть,
и, главное, что Вы хотите получить в результате вашего кода.

начну за Вас....

У вас на форме есть StringGrid1.
в 1-м столбце находятся некоторые числа...

дальше что?...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.08.2011, 13:30   #14
TotKtoNado
юзер
Форумчанин
 
Аватар для TotKtoNado
 
Регистрация: 22.12.2010
Сообщений: 245
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
да всё неправильно!

ладно. давайте так поступим..
Вы расскажете, что у Вас есть,
и, главное, что Вы хотите получить в результате вашего кода.

начну за Вас....

У вас на форме есть StringGrid1.
в 1-м столбце находятся некоторые числа...

дальше что?...
на первой строке есть числа 54321

я взял часть кода в коментарии и оставил только ввод и вывод. проверил программу. у меня в лабеле не появляються числа как я ввел 54321
TotKtoNado вне форума Ответить с цитированием
Старый 22.08.2011, 15:06   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
на первой строке есть числа 54321
ок. действительно. в 1-й строке... есть числа 5 4 3 2 1
с этим разобрались....

теперь дальше.
Цитата:
взял часть кода в коментарии и оставил только ввод и вывод. проверил программу. у меня в лабеле не появляються числа как я ввел 54321
при чём здесь код в комментариях?! При чём здесь лабел?!!!
Вы, может быть, УДОСУЖИТЕСЬ сказать, ЧТО Вы хотите добиться от программы?..


p.s. такое впечатление складывается, что это МНЕ нужно написать программу, а не Вам....
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.08.2011, 15:18   #16
TotKtoNado
юзер
Форумчанин
 
Аватар для TotKtoNado
 
Регистрация: 22.12.2010
Сообщений: 245
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
ок. действительно. в 1-й строке... есть числа 5 4 3 2 1
с этим разобрались....

теперь дальше.

при чём здесь код в комментариях?! При чём здесь лабел?!!!
Вы, может быть, УДОСУЖИТЕСЬ сказать, ЧТО Вы хотите добиться от программы?..


p.s. такое впечатление складывается, что это МНЕ нужно написать программу, а не Вам....
массив отсортировать?
TotKtoNado вне форума Ответить с цитированием
Старый 22.08.2011, 16:07   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
массив отсортировать?
Это Вы меня спрашиваете?!

Вам нужно отсортировать массив?
Т.е. отсортировать ТОЛЬКО первую строчку StringGrid1 согласно содержащимся там числам.
Так?

вот код:
Код:
procedure TForm1.ButtonSortClick(Sender: TObject);
var
  a: array of integer;
  i,j: integer; // индекс для ввода и вывода массива
  buf: integer; // буфер для обмена элементами массива
begin
  // 1) - создаём массив нужного размера
  SetLength(a, StringGrid1.ColCount);

  // 2) - переписываем все числа из StringGrid1 из 1-й строки в массив a
  for i:=0 to StringGrid1.ColCount -1 do
    a[i] := StrToIntDef(StringGrid1.Cells[i,0], 0);

  // 3) сортируем массив  методом простых обменов ("пузырька") }
  for i:=Low(a) to High(a)-1 do
    for j:=i+1 to High(a) do
      if a[i] > a[j] then
        begin
          buf:=a[i];
          a[i]:=a[j];
          a[j]:=buf
        end;

  // 4) полученный массив сохраним во 2-й строчке StringGrid1 (2-я строчка - просто для отладки!
  for i:=0 to StringGrid1.ColCount -1 do
    StringGrid1.Cells[i,1] := IntToStr(a[i]);

  // 5) освободим память, выделенную под массив a
  SetLength(a,0);
end;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сортировка массива feras Общие вопросы Delphi 6 23.05.2011 09:56
сортировка массива feras Помощь студентам 5 23.05.2011 09:44
Сортировка массива методами предсортировки и слияния, и пирамидальная сортировка. lenny_24 Помощь студентам 2 17.04.2011 18:57
Сортировка массива Weyner Помощь студентам 2 23.10.2010 08:32
Сортировка массива vitalik007 Общие вопросы Delphi 2 22.09.2007 20:04