![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 22.10.2016
Сообщений: 18
|
![]()
У меня есть 2 массива. В каждом по одному слову. Как их сравнить лесикографически? Подозреваю, что нужно использовать ASCII, вот только как? Можно использовать только стандартную библиотеку <stdio.h>
|
![]() |
![]() |
![]() |
#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
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 22.10.2016
Сообщений: 18
|
![]() Цитата:
Код:
Последний раз редактировалось Vitami; 30.10.2016 в 14:09. |
|
![]() |
![]() |
![]() |
#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. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 22.10.2016
Сообщений: 18
|
![]()
В случае вывода слова из первого массива, если оно лексикографичеки меньше слова во втором:
Код:
Последний раз редактировалось Alex11223; 30.10.2016 в 14:36. |
![]() |
![]() |
![]() |
#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
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 22.10.2016
Сообщений: 18
|
![]()
Если a[i] == b[i], мне нужно проверять следующие буквы (цикл повторяется, i++), а если a[i]<b[i], то я могу возвращать значение true. Тогда так :
Код:
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
А если одинаковые слова?
Или одно короче.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 22.10.2016
Сообщений: 18
|
![]()
Тогда, нужно возвращать False
Код:
|
![]() |
![]() |
![]() |
#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 |