#include <stdio.h>
#include <string>
int main()
{ setlocale( LC_ALL, "Russian" );
printf("Программа исключает из заданной строки S1 все вхождения заданной подстроки S2.\n\n");
char S1[100] ;
char S2[100] ;
printf("Введите S1: ");
gets(S1);
printf("Введите S2: ");
gets(S2);
printf("\nПреобразованная строка: ");
setlocale( LC_ALL, ".866" );
bool k = true;
for (int i=0; S1[i]!='\0'; i++)
{
k = true;
for (int j=0; S2[j]!='\0'; j++)
{
if (S2[j]!= S1[i + j])
{
k = false;
break;
}
}
if(k == true)
{
i += strlen(S2);
}
printf("%c",S1[i]);
}
printf("\n");
return 0;
}
Добавлено через 12 мин.
вводим s1 привет ветер
s2 ве
получается прит тер
это правильно
но если вводим например s1 каккаккак
s2 как
то выводится как,хотя должна вывестись пустая строчка...
не подскажете в чем дело?
Сообщение отредактировано: Dmitry25 -