3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
1

Сравнение строк

15.07.2011, 13:14. Показов 1717. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Объясните пожалуйста по какому способу строки сравниваются? А то я сравнивал так и не понял в чем состоит хитрость. Допустим пример "trons" == "robin". И как происходит здесь сравнение?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.07.2011, 13:14
Ответы с готовыми решениями:

Сравнение строк
Тупо и банально нужно сравнить строки средствами с++. Гуглил, но не нашел работающих примеров, толи...

сравнение строк
Подскажите как сравнить std::string и char *array ? может нужно преобразовать к одному типу сперва...

Сравнение строк
Добрый вечер. Пользователь должен ввести слово которое находиться в инструкции if и ему должно...

Сравнение строк
Сначала указываю каталог, из которого нужно вывести список файлов этого каталога, затем ввожу имя...

4
Заблокирован
15.07.2011, 13:21 2
посимвольно обычно
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
15.07.2011, 13:24 3
Цитата Сообщение от ElvenDragon Посмотреть сообщение
Объясните пожалуйста по какому способу строки сравниваются? А то я сравнивал так и не понял в чем состоит хитрость.
Строки(сишные) сравнивают посимвольно. В string.h(cstring) есть уже реализованная для этой цели функция strcmp.

Цитата Сообщение от ElvenDragon Посмотреть сообщение
Допустим пример "trons" == "robin". И как происходит здесь сравнение?
Это сравнение указателей. Т.е. это аналогично тому, как если бы ты написал
C++
1
2
3
const char* s1 = "trons";
const char* s2 = "robin";
if(s1 == s2) ...
1
заставил Бендера
854 / 319 / 17
Регистрация: 05.12.2010
Сообщений: 1,707
Записей в блоге: 6
15.07.2011, 14:26 4
rangerx, замудрили..
ElvenDragon,
Функция strcmp() сравнивает в лексикографическом порядке две строки и возвращает целое значение 1 если 1 строка больше второй, -1 если наоборот, 0 если равны.
сравнение ведется по коду символа в таблице аски.
К примеру код символа 'a' будет меньше чем код символа 'z'
к примеру:
и при таком сравнении strcmp("air", "zero") результат вернет -1. так как код буквы z больше чем буквы а.
1
3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
15.07.2011, 15:20  [ТС] 5
Короче я понял что приоритет первого символа выше чем предыдущего и если они равны то сравнивается символ 2 итак далее. А если нет то побеждает наибольший символ.
0
15.07.2011, 15:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.07.2011, 15:20
Помогаю со студенческими работами здесь

Сравнение строк
У меня передаётся параметр при запуске через командную строку *argv, и сравнивается с уже заданным...

Сравнение строк
char hey ; // оператор для выбора cout << "Как мне к вам обращаться? На ты или вы? (введите 'ты',...

сравнение строк
как сравнить строки на совпадающие? идея такая...есть исходная строка типа char вводим с клавы ещё...

Сравнение строк
Не прибегая к функциям сравнения строк, создайте программу, которая запрашивает у пользователя две...

Сравнение строк
Написал элементарную функцию, проверяющую введённый пользователем текст. Проблема в том, что он в...

Сравнение строк
MrGluck, не знаю: if ( strcmp( c1, c2 ) < 0 ) // правильное сравнение printf( "And it was...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru