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

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

22.10.2012, 17:30. Показов 2280. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru