semenrbt

поиск подстроки в строке

Nov 27th, 2020
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.45 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int FindSubStr(char *str, char *substr){ // Функция поиска подстроки в строке. На вход передается указатель на элемент строки и подстрока
  5.     int SizeSubStr = 0;    
  6.     int SizeStr = 0;
  7.     int pos = 0, m = 0;
  8.     while(str[SizeStr] > 13) SizeStr++; // Определяется размер строки
  9.     while(substr[SizeSubStr] > 13) SizeSubStr++; // Размер подстроки
  10.     while(pos <= (SizeStr - SizeSubStr)){ // Ищем подстроку в строке
  11.         for(m = 0; m < SizeSubStr && str[pos + m] == substr[m]; m++);
  12.         if(m == SizeSubStr) return pos;        
  13.         pos++;
  14.     }
  15.     return -1;  // Когда не будет вхождения подстроки в строке, функция отдаст значение -1
  16. }
  17.  
  18. int main(){
  19.     char Str[] = "nnnNnnnnnnnnnNnnnnnnn";
  20.     char SubStr[] = "N";
  21.     int L = 0;
  22.     int counter = 0;
  23.     while(FindSubStr(&Str[L], SubStr) >= 0){ // В то время пока существует подстрока в строке
  24.         L = L + FindSubStr(&Str[L], SubStr); // Находим координату очередного вхождения и выводим на экран
  25.         counter++;
  26.         L++;
  27.     }
  28.     printf("слово W встречается в предложении P %d раз.", counter);
  29.     printf("\n");
  30. }
Add Comment
Please, Sign In to add comment