Вниз
Скачать: CL | DM;

Сравнение двух слов   Найти похожие ветки 

← →
Yegorchic ©   (2006-08-04 10:45) [0]

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


← →
Kolan ©   (2006-08-04 10:51) [1]

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


← →
Yegorchic ©   (2006-08-04 10:55) [2]

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


← →
Yegorchic ©   (2006-08-04 10:57) [3]

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


← →
Kolan ©   (2006-08-04 11:01) [4]


> сранения

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


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

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

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


← →
Separator ©   (2006-08-04 11:02) [5]

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

???


← →
Yegorchic ©   (2006-08-04 11:09) [6]


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


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


← →
Stakan ©   (2006-08-04 11:10) [7]

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("Равны")

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


← →
DprYg ©   (2006-08-04 11:16) [8]

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


← →
Stakan ©   (2006-08-04 11:25) [9]

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 (аааа).

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


← →
Kolan ©   (2006-08-04 11:27) [10]

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


← →
TrainerOfDolphins ©   (2006-08-04 12:58) [11]

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


← →
Yegorchic ©   (2006-08-04 14:41) [12]


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


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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.03 c
4-1146775675
<X>
2006-05-05 00:47
2006.08.27
Работа со шрифтами средствами WinApi


2-1154861442
ЮзерОК
2006-08-06 14:50
2006.08.27
ListBox


2-1154794421
Yusuf
2006-08-05 20:13
2006.08.27
Большие текстовые файлы


2-1154808578
alexsashka
2006-08-06 00:09
2006.08.27
смена строк в ListBox


2-1155109671
vladimirg88
2006-08-09 11:47
2006.08.27
про таймер




   Наверх