![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
вообще предположим что у меня есть два массива типа char и мне надо их сравнить
1 - "AEP01363F" 2 - "C04SJJ4G3" как я понял просто if'ом |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
чтоб лучше понять сам напиши функцию сравнения
а так strcmp stricmp ну strstr Это сообщение отредактировал(а) apook - 1.4.2007, 10:19 Присоединённый файл ( Кол-во скачиваний: 11 )
strcmp.zip 1,02 Kb-------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
strcmp(const char*, const char*)
|
|||
|
||||
| threef |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 27.10.2005 Где: Запорожье Репутация: 9 Всего: 10 |
|
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
блин, чё то думал что strcmp сравнивает по длине массива
ладно всем спасибо apook, спасиб за хтмл, хорошее объяснение |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
threef,
|
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
не подходит мне strcmp() если равнять массивы разных размеров то результат не верный...
|
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
Ты в вопросе указал два массива одинакого разм
тогда вопрос звучит по другому: Входит ли подстрока b в строку a strstr обрати внимание -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
что я не совсем понимаю...
вот тебе дано 4 массива, поступающих по одному в файл, и их надо записать в правильном порядке (нисходящем), чем тут поможет strstr? ведь она будет искать схожесть в массивах, а если её не будет то всё будет записано в том порядке в котором пришло, понимаешь? "abc" "@e1f3" "194!." "@13fg" |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
strstr даст положительный ответ если в строке напр str_1 содержится
строка str_2
а в твоем случае по ходу сортировка нужна (если сам такую функцию пишешь конечно молодец ... ) qsort -ом можно воспользоваться -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
написал
здоровый гад вышел я знаю это не идеал
Это сообщение отредактировал(а) ressac - 1.4.2007, 21:53 |
|||
|
||||
| apook |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 794 Регистрация: 12.7.2006 Репутация: 9 Всего: 23 |
А че она у тя делает вообще
Что то ОДнако не правильно переделывай давай нахрен -------------------- Мои руки из дуба, голова из свинца ну и пусть ... |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
apook,
|
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
вроде пашет.
Это сообщение отредактировал(а) ressac - 2.4.2007, 00:22 |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
cага продолжается
эта версия стала на много короче и умнее разве что с регистрами проблема, сначала идёт алфавит из больших букв а потом их малых. :(
Это сообщение отредактировал(а) ressac - 2.4.2007, 20:06 |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
Daevaorn, ну спасиб :(
Добавлено через 19 секунд какими стандартными qsort что-ли? |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| threef |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 27.10.2005 Где: Запорожье Репутация: 9 Всего: 10 |
ressac, чем тебе мой вариант не пришелся ? Такой же "умный" как твой второй, только короче ?
|
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
Daevaorn, и как они помогут мне? я не вижу применения...
Добавлено через 4 минуты и 10 секунд threef, твой не распознает массивы разной длины. |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| threef |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 27.10.2005 Где: Запорожье Репутация: 9 Всего: 10 |
распознает любой длины.
результат( а ты как бы расположил по алфавиту ? ) s < t c1 длиннее c2 t > s
|
||||||
|
|||||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
threef, c++ не понимаю, да ты прав она понимает разных размеров массивы, сорри.
только у меня она выдаёт глюк когда я например сравниваю только по одному символу напр. "a" и "b", или "1" и "9" она выдаёт 0 но ведь они не равны...
не совсем тебя понял... Добавлено через 1 минуту и 30 секунд Daevaorn, если использовать только лишь strncmp и strstr то каким образом я рассортирую по алфавиту? :( |
|||
|
||||
| threef |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 27.10.2005 Где: Запорожье Репутация: 9 Всего: 10 |
sorry, сказал бы сразу.
|
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
спасиб пашет,но серовно не то что мне нужно. Есть проблемы с числами в твоём алгоритме, я сравниваю например 12 и 5 и функция возвращает -1 , тойсть 12 меньше получается? попробую у себя..
а мне именно надо чтоб функция их расспознавала
|
|||
|
||||
| threef |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 27.10.2005 Где: Запорожье Репутация: 9 Всего: 10 |
Ну ты даешь ! Посмотри у себя в WinCommander-е как у тебя сортируются файлы с именами 12 и 5 ! код символа у 1 меньше, чем у 5, пока ты этого не поймешь будешь мучаться и других заразОм.
строка "BA" больше строоки "AAAA" строка "4" больше строки "1024" строка "9А" меньше строки "a" Если ты хочешь сравнивать 16-тиричные представления чисел, то это и нужно писать в теме. Поставь нормально вопрос. |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
я знаю что 1 меньше чем 5.
я же выше привел уже пример как должна идти сортировка |
|||
|
||||
| threef |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 27.10.2005 Где: Запорожье Репутация: 9 Всего: 10 |
dead вот этого не понимаю
DEAD evil HeLL или этого hello life live man Word world У тебя кто больше - маленькие или большие ? |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
маленькие по идее должны быть первее... сорри
|
|||
|
||||
| threef |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 27.10.2005 Где: Запорожье Репутация: 9 Всего: 10 |
тогда сам настраивай свои сравнения , что-нибудь типа :
Это сообщение отредактировал(а) threef - 3.4.2007, 17:18 |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
это С или С++ ?
плюс не могу понять - в функции compare когда ты уже возвращаешь ты вызаваешь функцию big , я не вижу там функции big, разве что is_big? p.s. сорри я новичок. |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
гм...а как насчет std::lexicographical_compare?
|
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
JackYF, это С++ ? =))))
|
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Гм. Да, С++.
Тебе С++ не подходит, именно С? Я видел это в заголовке, но не придал значения... |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
JackYF, да только С , С++ к сожалению пока не учим :(
|
|||
|
||||
| threef |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 27.10.2005 Где: Запорожье Репутация: 9 Всего: 10 |
ressac,
is_big, верно |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
threef, а со стальным что это С или С++?
если пишу вместо big - is_big компилятор ругается насчет не правильных параметров |
|||
|
||||
| threef |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 27.10.2005 Где: Запорожье Репутация: 9 Всего: 10 |
расширение файла?
|
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
threef, ах да действительно.
ну это серовно ничего не меняет, я ведь серовно С++ не знаю. если тебе не сложно, напиши этот код под С. спасибо. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |