![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 31.05.2009
Сообщений: 16
|
![]()
Здравствуйте! Во время решения данной задачи возникли вопросы.
Поиск первого вхождения подстроки S1 в строку S. Шаблон функции Pos(S,S1). Оформление в двух вариантах : с помощью массивов и указателей. Допустим обьявили переменные типа чар S, S1. При интерактивном вводе присвоили им с помощью функции gets(){} символы. Но дальше возникает вопрос , как можно сравнить эти строку и подстроку?И вообще как можно написать функцию Pos(S,S1)? Спасибо |
![]() |
![]() |
![]() |
#2 |
Меркантильный кю
Участник клуба
Регистрация: 02.02.2008
Сообщений: 1,001
|
![]()
Самый тупой алгоритм:
i - номер текущего символа в S, j - номер текущего символа в S1 1. i = 0; j = 0; 2. Сравнили i и j символы S и S1 соответственно 3. Если не совпадают, то j = 0; переход к 4. Если совпадают, то переход к 5 4. Если i - последний символ S, то нужной подстроки нет. Иначе i++ 5. Если j - последний символ S1, то мы нашли нужную подстрочку. Иначе i++; j++ Если хотите, можете алгоритм Кнута-Морриса-Пратта посмотреть, он оптимальнее
Росли вроде умными, выросли дурнями... (c)А.Васильев
|
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 31.05.2009
Сообщений: 16
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#4 |
Меркантильный кю
Участник клуба
Регистрация: 02.02.2008
Сообщений: 1,001
|
![]()
ну вы же строки храните где-то, в каком-нибудь там char *S и char *S1
Росли вроде умными, выросли дурнями... (c)А.Васильев
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 31.05.2009
Сообщений: 16
|
![]()
Допустим строки хранятся в переменных , а как сравнивать каждый элемент этих переменных?
|
![]() |
![]() |
![]() |
#6 |
Меркантильный кю
Участник клуба
Регистрация: 02.02.2008
Сообщений: 1,001
|
![]() Код:
Код:
Росли вроде умными, выросли дурнями... (c)А.Васильев
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
работа со строками | Андрей.12 | Помощь студентам | 7 | 29.11.2009 19:24 |
Работа со строками | JeyKip | Общие вопросы C/C++ | 2 | 10.10.2009 18:41 |
работа со строками | lg12 | Помощь студентам | 8 | 17.08.2009 10:07 |
Работа со строками в С++ | Алекс...))) | Помощь студентам | 1 | 04.02.2009 19:48 |