• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Позиции Вхождения Второй Строки В Первую

  • Автор темы siner
  • Дата начала
S

siner

Необходимо чтобы программа распечатывала позиции вхождения второй строки в первую и их общее количество

C++:
int main(int argc, char* argv[]) {
char str[100], substr[50];
printf("Vvedi stroku:"); gets(str);
printf("Vvedi podstroku:"); gets(substr);  
char* p;
// c - счетчик вхождений.
// i - индекс символа, начиная с которого ищем подстроку.
for (int c = 1, i = 0; i < 100 && (p = strstr(&str[i], substr)); i++)
printf("Poziciya vhozhdeniya #%d: %d\n", c++, i = p - str);
_getch();
return 0;}

Что-то не работает. Ввожу 1ую строку, 2ую строку. Программа результат не выводит. Подскажите, пожалуйста, как это можно исправить?
 
W

Whatka


C++:
//	
char *p,*p1;
p1=str;
for(int c=0,i=1;;i++)
{
p=strstr(p1,substr);
if(p)
cout<<p<<" "<<p-str<<" "<<++c<<"\n";
else
break;
p1=&p1[strlen(substr)*i];
}
//
 
R

rrrFer

Но да, я только что ответил на соседнем форуме )

Раз запостил вопрос всюду - сообщи что он уже снят. А-то чтобы помочь люди время теряют иногда )
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!