Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Xaxatab
0 / 0 / 0
Регистрация: 22.02.2014
Сообщений: 22
#1

Подсчитать количество предлогов в предложении - C++

09.04.2014, 21:19. Просмотров 873. Ответов 12
Метки нет (Все метки)

помогите пожалуйста! Есть предложение в нем надо подсчитать кол-во предлогов! Как это сделать, и что для этого надо почитать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2014, 21:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подсчитать количество предлогов в предложении (C++):

Подсчитать количество предлогов - в, на, с и т.д. в тексте - C++
Помогите с задачей, нужно считать файл с тестом и в нем подсчитать сколько раз встречается каждый предлог, если кто то может, помогите на...

Подсчитать количество запятых в предложении - C++
Мне нужно подсчитать кол-во запятых в предложении (при помощи цикла) и определить , не является ли предложение вопросительным. Должно быть...

Подсчитать количество слов во введенном предложении - C++
Собственно сабж. Реализация такая, не пойму почему не считает. Предполагаю, что где-то косяки с указателями, но где конкретно не пойму ...

Как можно подсчитать количество слов в предложении? - C++
Маленький вопросик, как можно подсчитать количество слов в предложении. Я думал воспользоваться в качестве разделителя пробелом, но тогда,...

Подсчитать количество частиц «не», пишущихся раздельно, в предложении - C++
Подсчитать количество частиц «не», пишущийся раздельно в предложении. В с++

Отсортировать слова в предложении по алфавиту и подсчитать количество слов - C++
отсортировать слова в предложении по алфавиту и подсчитать количество слов

12
IrineK
Заблокирован
10.04.2014, 00:26 #2
Предложение на русском или на английском?
0
gazlan
3133 / 1909 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
10.04.2014, 01:41 #3
Цитата Сообщение от Xaxatab Посмотреть сообщение
Как это сделать
Проще всего, читать слова из предложения по одному и сравнивать их со словарем предлогов (это может быть просто статический массив строк). Если слово найдено в словаре - увеличиваем счетчик на единицу.
0
Xaxatab
0 / 0 / 0
Регистрация: 22.02.2014
Сообщений: 22
10.04.2014, 14:20  [ТС] #4
Русский язык
0
IrineK
Заблокирован
11.04.2014, 00:04 #5
Ну тогда по предложению gazlan создаете словарь из русских предлогов - и вперед.
Не забудьте о проблемах с русификацией консольного ввода/вывода.
0
Xaxatab
0 / 0 / 0
Регистрация: 22.02.2014
Сообщений: 22
11.04.2014, 10:27  [ТС] #6
это через strstr и substr??
0
IrineK
Заблокирован
11.04.2014, 12:22 #7
Скорее через strtok и strcmp
0
Xaxatab
0 / 0 / 0
Регистрация: 22.02.2014
Сообщений: 22
12.04.2014, 22:38  [ТС] #8
а можете написать пример программы с комментариями, а то не получается, пожалуйста!
0
gazlan
3133 / 1909 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
13.04.2014, 02:04 #9
Цитата Сообщение от Xaxatab Посмотреть сообщение
пример программы
В теме "Подсветить идентификаторы с файла" есть пример "ручного" парсинга строки и поиска ключевых слов. Ссылку на strtok уже давал в #3. Не поленитесь прочесть.

не получается
Выкладывайте ваш код, будем смотреть.
0
ZaMaZaN4iK
Мой лучший друг-отладчик!
164 / 164 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
13.04.2014, 02:19 #10
можно запихать все предлоги в Hashset или Hashmap, тогда можно будет за O(1) определять, предлог это или нет.Ну и читать по одному слову, чтобы жизнь себе облегчить.
0
gazlan
3133 / 1909 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
13.04.2014, 04:53 #11
Цитата Сообщение от ZaMaZaN4iK Посмотреть сообщение
тогда можно будет за O(1)
Лучший вариант - использование Perfect hash, но, думаю, TS ожидает чего-то попроще :-)
0
Xaxatab
0 / 0 / 0
Регистрация: 22.02.2014
Сообщений: 22
19.04.2014, 22:10  [ТС] #12
вот код, но она не работает! что нее правильно? подскажите
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
26
27
28
29
#include "stdafx.h"
#include <string>
#include <iostream>
#include <conio.h>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");
    string pred;
    string M =  "в" ;
    cout << "предложение:";
    getline(cin, pred);
    int i = 0, j=0;
    while (i >= 0)
    {
        i = find(M,pred);
        if (i>= 0)
        {
            i++;
            j++;
        }
 
    }
cout << j;
_getch();
    return 0;
}
0
nmcf
5678 / 4989 / 1701
Регистрация: 14.04.2014
Сообщений: 20,350
19.04.2014, 22:20 #13
Вот пример, ищет количество подстрок "cat" во введённой строке. Тебе надо искать " в " (предлог, окружённый пробелами).
C++
1
2
3
4
5
6
7
8
9
10
11
12
string input;
int i = 0;
int cat_appearances = 0;
 
getline(cin, input, '\n');
 
for(i = input.find("cat", 0); i != string::npos; i = input.find("cat", i))
{
    cat_appearances++;
    i++;
}
cout<<cat_appearances;
0
19.04.2014, 22:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2014, 22:20
Привет! Вот еще темы с ответами:

Подсчитать количество слов, которые встречаются в предложении ровно 1 раз - C++
Очень прошу помочь написать программу: Дано предложение, состоящее из слов, разделенных пробелами. Подсчитать количество слов, которые...

Даны N предложений. Подсчитать количество слов в каждом предложении и вывести на печать - C++
Здравствуйте. Помогите, пожалуйста, в написании алгоритма на C++. &gt;&gt;Даны N предложений. Подсчитать количество слов в каждом...

Подсчитать количество слов в предложении (слово – это набор символов, разделённых пробелами) - C++
Подсчитать количество слов в предложении (слово – это набор символов, разделённых пробелами).

Подсчитать количество букв "А" в предложении и общее количество букв. В тексте несколько строк. - C++
помогите с программкой пожалуйста. язык для меня совершенно незнакомый, а от решения этой задачки зависит судьба в универе одной очень...


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

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

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