Форум: "Начинающим";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];
ВнизСравнение двух слов Найти похожие ветки
← →
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 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.037 c