Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 77
1

Определить, сколько раз встречается одно слово в другом

28.11.2011, 23:45. Показов 847. Ответов 5
Метки нет (Все метки)

может кто нибудь сталкивался, когда нужно найти количество раз, когда одно сочетание букв (например, "ха") встречается в другом сочетании ("хахахахахаха") (функция strstr в цикле не работает). помогите пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.11.2011, 23:45
Ответы с готовыми решениями:

Определить, сколько раз слово встречается в предложении
исправьте пожалуйста. #include <iostream> #include <stdio.h> using namespace std; int main()...

Определить сколько раз в файле встречается заданное слово
Найти слово. Дан текстовый файл. Определить, сколько раз встречается в нем заданное пользователем...

Определить,сколько раз в предложении встречается заданное слово
Здравствуйте. Помоги пожалуйста написать программы на си++. 1)Определить,сколько раз в предложении...

Определить сколько раз данное слово встречается в тексте
У меня небольшая просьба 1)обьясните зачем нужен #define _CRT_SECURE_NO_DEPRECATE 2)помогите...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
5
16 / 16 / 2
Регистрация: 28.04.2011
Сообщений: 38
29.11.2011, 00:15 2
Если исходные слова хранятся в массивах, то можно посимвольно сравнивать. Искать в первом слове первую букву второго слова, если нашлась, то проверять остальные буквы, если слово содержится целиком, то увеличить специальную переменную. Скорее всего в такой программе будут вложенные циклы for

Добавлено через 8 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
for(i=0; i<n; i++)
{
   for(j=0; j<m; j++)
     if(a[i+j] !=b[j])
       {
        flag=1;
        j=m;
       }
   if(flag==0)
     kolichestvo++;
 
    flag=0;    
}
Добавлено через 4 минуты
Первый цикл for проверяет все буквы длинного слова (символ '\0' проверять не надо), второй цикл for - короткого слова (символ '\0' проверять не надо). Если хотя бы одна буква не совпадёт, то переменная flag объединичивается, если же все буквы содержатся, то kolichestvo прибавляется.
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10910 / 6836 / 1625
Регистрация: 25.07.2009
Сообщений: 12,540
29.11.2011, 00:30 3
Не лучший в плане оптимизации метод, но компактненько так, и работает...
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <string.h>
 
size_t matches_count(const char * str, const char * wrd){
    return ( ! *str ) ? 0 : ( ! strncmp(str, wrd, strlen(wrd)) ) + matches_count(str + 1, wrd);
}
 
#define INPUT_LEN 256
#define INPUT_MASK "%255[^\n]%*c"
 
int main(void){
    char str[INPUT_LEN], wrd[INPUT_LEN];
    
    while ( printf("String: ") && scanf(INPUT_MASK, str) == 1 && printf("Word: ") && scanf(INPUT_MASK, wrd) == 1 )
        printf("%u matches.\n", matches_count(str, wrd));
    
    return 0;
}
1
1 / 1 / 0
Регистрация: 01.05.2011
Сообщений: 77
29.11.2011, 00:37  [ТС] 4
спасибо)))
0
40 / 40 / 7
Регистрация: 26.11.2011
Сообщений: 80
29.11.2011, 00:37 5
А можно ли через find сделать?
1
932 / 757 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
29.11.2011, 06:14 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <algorithm>
using namespace std;
 
int main(void) {
   string str   = "The хахахахахаха (ха///)";
   char fnd[] = "ха";
   int cnt;
 
   // 1-вариант
   cnt = 0;
   for(string::size_type p = 0; (p = str.find(fnd, p)) != string::npos; p += strlen(fnd))
        ++cnt;
   cout << "sub1: " << cnt << endl;
 
  // 2-вариант
  cnt = 0;
  string::iterator iter = str.begin();
  while((iter = search(iter, str.end(), fnd, fnd + strlen(fnd))) != str.end()) {
        iter += strlen(fnd);
        ++cnt;
  }
  cout << "sub2: " << cnt << endl;
  return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.11.2011, 06:14

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Определить сколько раз встречается данное слово в строке
Здравствуйте, уважаемые форумчане ! Условие задачи : Определить, сколько раз в строке встречается...

Определить, сколько раз встречается заданное слово в предложении
надо найти сколько раз встречается данное слово в предложении))) спасибо!!

Определить сколько раз в строке встречается заданное слово
Помогите пожалуйста в строках вообще ничего непонимаю! Задача:1 Определить сколько раз в строке...

Определить сколько раз встречается в строке самое длинное слово
дана строка, содержащий текст на русском языке. Определить сколько раз встречается в ней самое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.