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

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

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2016, 17:22   #1
BlackMaks1996
Новичок
Джуниор
 
Регистрация: 13.06.2016
Сообщений: 1
По умолчанию (С++Builder) Сортировки

Напишите пожалуйста кто-нибудь код сортировки выбором и вставками, для одномерного массива через StringGrid. Видел кучу шаблонов как это сделать просто на С++, но вот именно на билдере не находил, а самому сделать не получается совершенно(((
BlackMaks1996 вне форума Ответить с цитированием
Старый 21.06.2016, 09:35   #2
Почтальон
Пользователь
 
Регистрация: 12.05.2016
Сообщений: 16
По умолчанию

Цитата:
Сообщение от BlackMaks1996 Посмотреть сообщение
Напишите пожалуйста кто-нибудь код сортировки выбором и вставками, для одномерного массива через StringGrid. Видел кучу шаблонов как это сделать просто на С++, но вот именно на билдере не находил, а самому сделать не получается совершенно(((
А StringGrid разве к билдеру не относится ?
Почтальон вне форума Ответить с цитированием
Старый 18.10.2016, 13:32   #3
sklees
Пользователь
 
Регистрация: 21.04.2013
Сообщений: 23
По умолчанию

Код:
// алгоритм сортировки от меньшего к большему
int tempMin;
for (int i = 0, i < StringGrid1->Count, i++)
 for (int j = 1, j < StringGrid1->Count, j++)
  if (tempArray[i] > tempArray[j])
   {
    tempMin = tempArray[i];
	tempArray[i] = tempArray[j];
	tempArray[j] = tempMin;
   }
// копирование данных из StringGrid1 во времянной массив tempArray[i]
String tempArray[];
for (int i = 0, i < StringGrid1->Count, i++)
   tempArray[i] = StringGrid1->Items->Items[i];
// копирование данных из tempArray[i] во времянной массив StringGrid1
StringGrid1->Clear();
for (int i = 0, i < StringGrid1->Count, i++)
  StringGrid1->Items->Add(tempArray[i]);
Думаю что при сортировке стирать выбранную запись не сложно, чем записывать каждый раз данные между строк.
Предложено воспользоваться копированием в память , отсортировать и занести все сразу в StringGrid
sklees вне форума Ответить с цитированием
Старый 18.10.2016, 20:33   #4
sklees
Пользователь
 
Регистрация: 21.04.2013
Сообщений: 23
По умолчанию пример сортировки столбца

Код:
StringGrid1->ColCount = 1;
StringGrid1->RowCount = 10;
StringGrid1->Cells[0][0] = "5";
StringGrid1->Cells[0][1] = "6";
StringGrid1->Cells[0][2] = "1";
StringGrid1->Cells[0][3] = "7";
StringGrid1->Cells[0][4] = "2";
StringGrid1->Cells[0][5] = "8";
StringGrid1->Cells[0][6] = "3";
StringGrid1->Cells[0][7] = "9";
StringGrid1->Cells[0][8] = "4";
StringGrid1->Cells[0][9] = "10";
//----
String tempValue;
for (int i = 0; i < 10; i++)
for (int j = i; j < 10; j++)
if (StrToInt(StringGrid1->Cells[0][i] ) > StrToInt(StringGrid1->Cells[0][j] )) {
  tempValue = StringGrid1->Cells[0][i];
  StringGrid1->Cells[0][i] = StringGrid1->Cells[0][j];
  StringGrid1->Cells[0][j] = tempValue;
}
sklees вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ Builder, я перевожу прогу из консоли MVS в builder и возникли ошибки. [C++ Error] Unit1.cpp(49): E2277 Lva Rasa777 C++ Builder 2 10.07.2015 05:08
Программа, сортирующая исходный одномерный массив целых чисел методами пузырьковой сортировки и сортировки прямым выбором (язык С) igor01 Помощь студентам 7 16.05.2014 23:21
CodeGear C++ Builder 2007 Lite не может откомпилировать исходники C++ Builder 6 Ecosasha C++ Builder 2 22.11.2013 15:02
Сравнить эффективность алгоритмов шейкерной сортировки и сортировки слиянием (язык C) Ольга210993 Помощь студентам 2 20.09.2012 13:52
Алгоритмы сортировки пирамидальный(кучей) и быстрой сортировки (с++) mmd12 Помощь студентам 4 17.05.2012 14:14