| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Сравнить подстроку со строкой |
| Автор: Uter123 15.11.2015, 15:50 | ||
| После ввода с клавиатуры рядами некоторых фамилий и рядом возраст с ними (год рождения). Выдать на экран список тех, у кого фамилии похожи и их возраст (года). Например: Петров и Петрова- имеют похожие фамилии. Не могу понять, почему не работает.
|
| Автор: xvr 16.11.2015, 16:48 |
Я тоже не могу, и вообще никто не сможет. А программа явный кандидат на конкурс - 'угадай, что оно делает'. Одно могу сказать сразу - сравнивать результаты strcmp с 1 и -1 не комильфо |
| Автор: BloodForever 16.11.2015, 20:30 |
| а функцию strstr можно сравнивать с NULL? ведь она возврашает указатель на первое вхождение подстроки |
| Автор: Envy 17.11.2015, 09:32 |
| Я набросал, как можно решить эту задачу - http://ideone.com/3iH9dS. Я в с++ не специалист, если кто-нибудь укажет на ошибки, буду благодарен. Сразу предупреждаю - там, скорее всего, будет проблема со строками в UTF. А код, который в топике, да - надо переписать, его больно читать Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Sravnit-podstroku-so-strokoy-id56487fb9ae2015894c8b4567#findElement_E7045_564ac9e6ae2015067d8b47eb_0 |
| Автор: Romikgy 17.11.2015, 10:14 | ||
http://www.cplusplus.com/reference/cstring/strstr/
|
| Автор: feodorv 18.11.2015, 03:14 |
| Так конструируемые строки q и s вообще не завершаются символом '\0'. |