Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
1 / 1 / 0
Регистрация: 08.05.2012
Сообщений: 64

Как отсортировать список фамилий по алфавиту

22.10.2012, 17:30. Показов 2265. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как отсортировать список фамилий по алфавиту
struct f {char fam[50]} или за место char ->AnsiString, данные считываются из Memо.

Никак не пойму как сделать
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.10.2012, 17:30
Ответы с готовыми решениями:

Как из таблицы составить список фамилий, отсортировать его и вывести в ComboBox?
Добрый день! Не могу реализовать программный код, есть компонент ComboBox1 в него из БД Access определенной таблицы считываются в...

Отсортировать массив фамилий и имен по алфавиту
пажлста!!! оч прашу вас помочь мне с масивами!!! нада написать такую програмку каторая.........при вводе с клавиатуры фамилий и имён...

Список фамилий. Упорядочить их по алфавиту
Заданный список фамилий. Упорядочить их по алфавиту. Проверить написания первой большой буквы ПОМОГИТЕ , НИЧЕГО НЕ ВЫХОДИТ (

6
 Аватар для defer
577 / 256 / 18
Регистрация: 29.11.2010
Сообщений: 868
22.10.2012, 17:49
Используйте TStringList
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
23.10.2012, 09:54
Цитата Сообщение от defer Посмотреть сообщение
Используйте TStringList
Совершенно верно. Там есть метод Sort(); с его помощью отсортируете список__
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::Button2Click(TObject *Sender)
{
     TStringList *sll = new TStringList ;
     sll->Assign(Memo1->Lines);
     sll->Sort();
     Memo1->Lines = sll;
     delete sll; 
}
1
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.10.2012, 17:30
Мм..
C++
1
2
Memo1->Lines = sll;
delete sll;
Разве безопасно?
C++
1
Memo1->Lines->Assign(ssl);
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
23.10.2012, 18:51
Цитата Сообщение от Avazart Посмотреть сообщение
Разве безопасно? Код C++
1 Memo1->Lines->Assign(ssl);
Судя по исходникам - да.

Pascal
1
class PASCALIMPLEMENTATION TStringList : public TStrings
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TStrings.Assign(Source: TPersistent);
// у TStringList нету этого метода (унаследован от TStrings)
begin
  if Source is TStrings then
  begin
    BeginUpdate;
    try
      Clear;
      FDefined := TStrings(Source).FDefined;
      FQuoteChar := TStrings(Source).FQuoteChar;
      FDelimiter := TStrings(Source).FDelimiter;
      AddStrings(TStrings(Source));
    finally
      EndUpdate;
    end;
    Exit;
  end;
  inherited Assign(Source);
end;
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TStrings.AddStrings(Strings: TStrings);
// у TStringList нету этого метода (унаследован от TStrings)
var
  I: Integer;
begin
  BeginUpdate;
  try
    for I := 0 to Strings.Count - 1 do
      AddObject(Strings[I], Strings.Objects[I]);
  finally
    EndUpdate;
  end;
end;
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
function TStringList.AddObject(const S: string; AObject: TObject): Integer;
begin
  if not Sorted then
    Result := FCount
  else
    if Find(S, Result) then
      case Duplicates of
        dupIgnore: Exit;
        dupError: Error(@SDuplicateString, 0);
      end;
  InsertItem(Result, S, AObject);
end;
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure TStringList.InsertItem(Index: Integer; const S: string; AObject: TObject);
// код не понятен мне этот, но само название метода говорит, что будет произведена вставка(копирование)
begin
  Changing;
  if FCount = FCapacity then Grow;
  if Index < FCount then
    System.Move(FList^[Index], FList^[Index + 1],
      (FCount - Index) * SizeOf(TStringItem));
  with FList^[Index] do
  begin
    Pointer(FString) := nil;
    FObject := AObject;
    FString := S;
  end;
  Inc(FCount);
  Changed;
end;
1
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.10.2012, 18:56
Я имел ввиду
C++
1
Memo1->Lines = sll;
Т.е. свойство Lines (точнее наверное метод SetLines() );

То что Assign() безопасен и трояну понятно...
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
23.10.2012, 19:13
Тоже к Assign'у ведет
C++
1
2
3
4
procedure TCustomMemo.SetLines(Value: TStrings);
begin
  FLines.Assign(Value);
end;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.10.2012, 19:13
Помогаю со студенческими работами здесь

Упорядочить список фамилий по алфавиту
Заданный список фамилий. Упорядочить их по алфавиту. Проверить написания первой большой буквы #include &lt;conio.h&gt; #include...

Список фамилий упорядочить по алфавиту.
Список фамилий упорядочить по алфавиту. помогите решить задачу - очень надо!:) входные данные - одна строка ткач иванов ибрагимов...

Список введенных фамилий упорядочить по алфавиту
Нужно список введенных фамилий упорядочить по алфавиту!!!

Строки. [Ввести список фамилий,упорядочить по алфавиту]
Задание = реализовать через вызов функции...

Упорядочить по алфавиту список фамилий, разделенный запятыми
Список фамилий,разделенный запятыми,задан в произвольном порядке.упорядочить его по алфавиту...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru