Главная » Статьи » Задачи из заказов » Заказ 07.03.08 |
Написать функцию POISK(str, podstr, k), которая осуществляет поискподстроки podstr в строке str, начиная с позиции k. Если подтрока ...
// 1.7 // Написать функцию POISK(str, podstr, k), которая осуществляет поиск // подстроки podstr в строке str, начиная с позиции k. Если подстрока // найдена, то функция возвращает адрес начала этой подстроки в строке // str. Если подстрока не найдена, то функция возвращает NULL. #include <stdio.h> #include <conio.h> #include <string.h> int poisk(char* str, char* podstr, int k) { int n = strlen(str); int m = strlen(podstr); int j = 0; for (int i = k - 1; i < n; i++) { if (str[i] == podstr[j]) { j++; if (j == m) return i + 1 - (m - 1); } else j = 0; } return NULL; } void main() { clrscr(); const nmax = 100; int k; char str[nmax], podstr[nmax]; printf("Vvedite stroku: "); gets(str); printf("Vvedite podstroku: "); gets(podstr); printf("Vvedite k: "); scanf("%d", &k); int r = poisk(str, podstr, k); if (r != NULL) printf("resultat = %d", r); else printf("NULL"); getch(); } | |
Категория: Заказ 07.03.08 | Добавил: solver (07.03.2008) | |
Просмотров: 871 |