|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.10.2016, 13:31 | #1 |
Пользователь
Регистрация: 22.10.2016
Сообщений: 18
|
Как сравнить 2 слова лексикографически?
У меня есть 2 массива. В каждом по одному слову. Как их сравнить лесикографически? Подозреваю, что нужно использовать ASCII, вот только как? Можно использовать только стандартную библиотеку <stdio.h>
|
30.10.2016, 13:39 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Так и в чем именно проблема?
Просто по порядку сравнивать символы слов пока один из них не будет меньше или больше или одно из слов не закончится. https://ru.wikipedia.org/wiki/%D0%9B...B4%D0%BE%D0%BA
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
30.10.2016, 14:03 | #3 | |
Пользователь
Регистрация: 22.10.2016
Сообщений: 18
|
Цитата:
Код:
Последний раз редактировалось Vitami; 30.10.2016 в 14:09. |
|
30.10.2016, 14:12 | #4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Форматируйте код нормально.
Например так Код:
И ваш цикл никогда не пройдет дальше первой итерации. Обычно возвращают 1 если a > b, -1 если a < b, 0 если a == b. Но естественно нельзя возвращать 0 на первой итерации, только когда проверите все символы и они все окажутся равными.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 30.10.2016 в 14:19. |
30.10.2016, 14:32 | #5 |
Пользователь
Регистрация: 22.10.2016
Сообщений: 18
|
В случае вывода слова из первого массива, если оно лексикографичеки меньше слова во втором:
Код:
Последний раз редактировалось Alex11223; 30.10.2016 в 14:36. |
30.10.2016, 14:39 | #6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Тут тоже фигня написана. Во-первых return false никогда не произойдёт потому что до него break. И если a[i] не > b[i], то это значит что либо a[i] == b[i], либо a[i] < b[i], а не только второе.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
30.10.2016, 14:49 | #7 |
Пользователь
Регистрация: 22.10.2016
Сообщений: 18
|
Если a[i] == b[i], мне нужно проверять следующие буквы (цикл повторяется, i++), а если a[i]<b[i], то я могу возвращать значение true. Тогда так :
Код:
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум. |
30.10.2016, 14:51 | #8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
А если одинаковые слова?
Или одно короче.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
30.10.2016, 14:59 | #9 |
Пользователь
Регистрация: 22.10.2016
Сообщений: 18
|
Тогда, нужно возвращать False
Код:
|
30.10.2016, 15:06 | #10 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
В for проверка завершения неправильная, будет выход за пределы массива если одно слово короче.
И если одно слово короче и при этом все символы до конца короткого равны, то значит другое "больше". (AA < AAA)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++ Упорядочить строки матрицы D (m. n) Лексикографически по неубыванию первых k элементов строки | Анатолий171 | Помощь студентам | 123 | 04.07.2014 18:46 |
Даны два слова. Получить третье слово из неповторяющихся символов, входящих как в первое, так и во второе слова. | dlinkz | Паскаль, Turbo Pascal, PascalABC.NET | 8 | 01.02.2012 11:09 |
TASM. Сравнить слова в строке | S1av0k | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 13.12.2011 10:14 |
Как составить слова из букв заданного слова(Паскаль) | lirikoff | Помощь студентам | 1 | 22.12.2010 10:21 |
Как удалить текст до слова, потом от слова ? | littlecoder | Общие вопросы Delphi | 7 | 29.12.2008 00:57 |