1 / 1 / 0
Регистрация: 08.05.2012
Сообщений: 64

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

22.10.2012, 17:30. Показов 2273. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru