|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.04.2011, 17:42 | #1 |
Пользователь
Регистрация: 15.04.2011
Сообщений: 38
|
Работа со строками. Не пойму как определить сколько раз одна строка встречается в другой
Вот то что я написал , по этой тема так сказать)
while (i<strlen(str1)) { for (j=0; j<strlen(str2); j++) if (str1[i+j]==str2[j]) n++; else n = 0; if (n==strlen(str2)) { k++; i+= strlen(str2)-1; n = 0; } i++; } if (k==0) printf ("Stoka 2 ne vstrechaetcia v stroke 1"); else printf ("2 Stroka vstrechaetsya v 1 stroke %d raz(a).\n", k); ПРограмма работает частично, например если во второй строке больше 2-ух букв , то программа не работает НАпример 1-ая строка: ggggrtref 2-ая строка: gggg Ответ должен быть по идее 1 раз встречается 2-ая строка в первой, но он выдает что она не встречается в 1-ой строке =( жду ваших предложений и советов |
29.04.2011, 18:01 | #2 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Цитата:
Почему? Переменная не используетсяя.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
|
29.04.2011, 18:29 | #3 |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
Код:
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
29.04.2011, 18:41 | #4 |
Пользователь
Регистрация: 15.04.2011
Сообщений: 38
|
i+= strlen(str2)-1;
вот используется |
29.04.2011, 18:48 | #5 |
Пользователь
Регистрация: 15.04.2011
Сообщений: 38
|
Большое спасибо Mandrivnyk
|
29.04.2011, 18:49 | #6 |
Пользователь
Регистрация: 05.06.2010
Сообщений: 29
|
хм, странно, а функция strstr(char* str1, char* str2) уже не кошерна?
Код:
|
29.04.2011, 18:55 | #7 |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
Кхм...
Я почему-то решил, что необходимо обойтись циклическим перебором по строке -)
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
29.04.2011, 19:23 | #8 |
Пользователь
Регистрация: 15.04.2011
Сообщений: 38
|
Что такое bool match скажите пожалуйста
|
29.04.2011, 20:40 | #9 |
Пользователь
Регистрация: 15.04.2011
Сообщений: 38
|
ребят помогите пож.с прогой ......
условие определить сколько раз 2 строка встречается в 1 и определить наиболее часто встречаемое буквосочетание из 2х букв, анализировать по 2 строкам вот мой код #include <stdio.h> #include <conio.h> #include <string.h> #include <iostream> using namespace std; int n=0,k=0,m=0,x=0,y=0; int main() { string str1, str2, str3; int len1, len2, len3; int count = 0; cout << "Vvedite 1 ctroky:" << endl; cin >> str1; cout << "Vvedite 2 ctroky:" << endl; cin >> str2; bool match; len1 = str1.length(); len2 = str2.length(); len3 = len1 + len2; for (int i = 0; i < len1 - len2 + 1; i++) { match = false; for (int j = 0; j < len2; j++) { if (str2[j] == str1[i + j]) match = true; else { match = false; break; } } if (match) count++; } cout << "Vtoraiy "; if (count == 0) cout << "ne "; cout << "vsterchaetc "; if (count != 0) cout << count << " raz(a)" << endl; getch(); int *k=new int[len3]; if (x==len1) x++; for (x=0;x<len3;x++) k[x]=0; for (x=0;x<len3-1;x++) for (y=x;y<len3-1;y++) if ((str3[x]==str3[y])&&(str3[x+1]==str3[y+1])) k[x]++; n=0;y=0; for (x=0;x<len3-1;x++) if (n<k[x]) {n=k[x]; x=y;} m=0; for (x=0;x<len3-1;x++) if (n==k[x]) m++; if (m>=2) printf("\n Net bycvosochetania"); else printf("\n chasto vstrechaemoe bycvosochetanie: %c%c",str3[y],str3[y+1]); getch(); return 0; } |
29.04.2011, 21:19 | #10 |
Пользователь
Регистрация: 15.04.2011
Сообщений: 38
|
up! up up!!
вверх по списку) |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как подсчитать сколько раз встречается символ в строке? | zver777 | Общие вопросы Delphi | 10 | 10.01.2010 00:57 |
PHP.Как посчитать, сколько раз слово встречается в файле? | Princesse | Помощь студентам | 0 | 07.12.2009 00:24 |
Сколько раз слово встречается в строке | ksu25 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 25.09.2009 15:53 |
Определить сколько раз встречается в тексте самое короткое слово - Delphi 7 | Леди Уинтер | Помощь студентам | 3 | 08.01.2008 17:56 |
Сколько раз встречается данное слово | n1k1c4 | Помощь студентам | 4 | 13.12.2007 20:33 |