Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сравнение двух слов [D7, XP]


Yegorchic ©   (2006-08-04 10:45:00) 

Есть ли у кого алгоритм сранения двух слов по алфафиту?


Yegorchic   (2006-08-04 14:41:00) [1]


> TrainerOfDolphins ©   (04.08.06 12:58) [11]


Да всё, уже подсказали же...

Спасибо всем!!


TrainerOfDolphins   (2006-08-04 12:58:00) [2]

А ты сначала объясни толком, что тебе надо. Расставить слова по алфавиту?


Kolan   (2006-08-04 11:27:00) [3]

Странно, я так и не понялчто надо сделсть...


Stakan   (2006-08-04 11:25:00) [4]

DprYg ©   (04.08.06 11:16) [8]
Неправда Ваша.
var s1, s2: string;
begin
  s1:= 'аааа';
  s2:= 'б';
  if s1 < s2 then ShowMessage(s1) else ShowMessage(s2);
end;

Будет показана строка s1 (аааа).

Правда такой подход не сработает в случае заглавных и маленьких букв.
(Б будет меньше а)


DprYg   (2006-08-04 11:16:00) [5]

Обычные операции сравнения <,=,> работают так. Если сравниваются строки разной длины, то большей считается более длинная строка. Если одинаковой - принимаются в расчет символы в одинаковых позициях - сравниваются их коды.


Stakan   (2006-08-04 11:10:00) [6]

if AnsiStrComp(PChar(Edit1.Text), PChar(Edit2.Text)) < 0 then
   ShowMessage('1-я раньше по алфавиту')
 else if AnsiStrComp(PChar(Edit1.Text), PChar(Edit2.Text)) > 0 then
   ShowMessage('1-я позже по алфавиту')
 else
   ShowMessage('Равны')

ЗЫ Посмотри как поведёт себя ф-я в случае сравнения заглавных и маленьких букв


Yegorchic   (2006-08-04 11:09:00) [7]


> Separator ©   (04.08.06 11:02) [5]


Нда, действительно :-)
Кажется помогла..


Separator   (2006-08-04 11:02:00) [8]

*задумчиво чешет репу*
А такая труктура не поможет:
ivar s1, s2: string;
begin
   s1:= '1123';
   s2:= '234';
   if s1 < s2 then ShowMessage(s1) else ShowMessage(s2);
end;

???


Kolan   (2006-08-04 11:01:00) [9]


> сранения

Я прочел как сра внения, а вы имели в виду сортировки?


> Т.е. если отсортировать массив из char = { b, a, y } то
> будет { a, b, y }. Вот тоже, только не char, а string.

Ознакомьтесь с ASCII таблицей. У каждой буквы есть свой код. Его и можно использовать для сортировки.

Общий смысл:
1. Берешь строку.
2. Заводишь еще одну для результата.
3. Просматривя первую формируещь вторую.


Yegorchic   (2006-08-04 10:57:00) [10]

Ой, надо вот так, только не массив, а просто два слова. Ну можно и массив...


Yegorchic   (2006-08-04 10:55:00) [11]

Т.е. если отсортировать массив из char = { b, a, y } то будет { a, b, y }. Вот тоже, только не char, а string.


Kolan   (2006-08-04 10:51:00) [12]

Это как "по алфавиту"? Гдето тут на сайте есть ф-ция сравнивающая строки и выдающая совпадение в процентах.


Наверх

Титульная страница Поиск, карта сайта Написать письмо