Форум программистов, компьютерный форум CyberForum.ru

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

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

Определить число союзов и местоимений - C++

08.03.2012, 19:34. Просмотров 923. Ответов 11
Метки нет (Все метки)

Помогите пожалуйста. Дана фраза определить сколько в ней союзов и местоимений.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2012, 19:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить число союзов и местоимений (C++):

Дано натуральное четырехзначное число n. Определить, является ли это число перевертышем - C++
Дано натуральное четырехзначное число n. Определить, является ли это число перевертышем. Например, числа 2222, 6116, 0440 и т.д.

Дано шестизначное натуральное число. Определить число сотен и десятков в нем - C++
help Дано шестизначное натуральное число. Определить число сотен и десятков в нем. (Visual studio C++)

Методом обхода в глубину определить число компонент связности и цикломатическое число графа - C++
Методом обхода в глубину определить число компонент связности и цикломатическое число графа – минимальное число ребер, которые надо...

Найти максимальное число в массиве и определить, сколько цифр числа делятся на число Z - C++
Массив intA=

Дано трицифровое число.Определить имеет ли число одинаковые первую и последнюю цифры - C++
Дано трицифровое число. Определить что число имеет одинаковые первую и последнюю цифры (131, 272 и т.д.) Без циклов.Нужно сделать...

Определить, сколько пар (положительное число, отрицательное число) находятся в начале массива - C++
Дан целочисленный массив B. Определить, сколько пар (положительное число, отрицательное число) находятся в начале массива.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
08.03.2012, 20:02 #2
хмм создаешь структуру в которой будешь хранить массив строк в каждой из которых хранятся местоимения и ещё 1 структуру с союзами а потом каждое отдельно стоящее слово сравние с полями этих структур
stydent1991
0 / 0 / 0
Регистрация: 13.06.2010
Сообщений: 156
08.03.2012, 20:07  [ТС] #3
А как это будет выглядеть в программе, можете показать? Пожалуйста)

 Комментарий модератора 
4.3. Избегайте использования CAPS LOCK при написании текстов сообщений.
NumBot
13 / 13 / 0
Регистрация: 16.02.2012
Сообщений: 59
08.03.2012, 20:53 #4
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
char *st1[] = {"а","и","но"};
char *st2[] = {"он","оно","им"};
char str[] = {"искомая строка"};
int count1 = 0;
int count2 = 0;
 
char *s;
s = strtok(str," ");
while( s )
{
    for(int i = 0; i <= 2; i++)
    {
        if( strcmp(s, st1[i]) == 0 )
        count1++;
    }
 
    for(int i = 0; i <= 2; i++)
    {
        if( strcmp(s, st2[i]) == 0 )
        count2++;
    }
    s = strtok(NULL," ");
}
printf("%d союзов, %d местоимений",count1,count2);
Приблизительно так

Добавлено через 22 минуты
вместо strcmp можно использовать stricmp, тогда не будет проблем c регистром
stydent1991
0 / 0 / 0
Регистрация: 13.06.2010
Сообщений: 156
08.03.2012, 23:18  [ТС] #5
спасибо, но выводит ошибки...што то не нравится в цикле и присвоении...можете поточнее сделать?спасииибо) и што за функция strok?
NumBot
13 / 13 / 0
Регистрация: 16.02.2012
Сообщений: 59
08.03.2012, 23:28 #6
2. Ошибки в студию, откомпилил у себя - всё прекрасно работает. Проверь, подключены ли библиотеки tchar.h stdio.h
3. не strok, а strtok. Погугли, это не сложно.
stydent1991
0 / 0 / 0
Регистрация: 13.06.2010
Сообщений: 156
08.03.2012, 23:50  [ТС] #7
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 <stdio.h>
#include <iostream.h>
#include <tchar.h> 
 
 
char *st1[] = {"а","и","но"};
char *st2[] = {"он","оно","им"};
char str[] = {"искомая строка"};
int count1 = 0;
int count2 = 0;
 
char *s;
s = strtok(str," ");
while( s )
{
        for(int i = 0; i <= 2; i++)
        {
                if( stricmp(s, st1[i]) == 0 )
                count1++;
        }
 
        for(int i = 0; i <= 2; i++)
        {
                if( stricmp(s, st2[i]) == 0 )
                count2++;
        }
        s = strtok(NULL," ");
}
printf("%d союзов, %d местоимений",count1,count2);

не понимаю( помоги пожалуйста(
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
09.03.2012, 01:55 #8
stydent1991, а где функция main?
Вот полный код:
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
#include <cstdio>
#include <cstring>
 
int main() {
    char *st1[] = { "а", "и", "но" };
    char *st2[] = { "он", "оно", "им" };
    char str[] = { "искомая и строка" };
    int count1 = 0;
    int count2 = 0;
 
    char *s;
    s = strtok(str, " ");
    while (s) {
        for (int i = 0; i <= 2; i++) {
            if (strcmp(s, st1[i]) == 0)
                count1++;
        }
 
        for (int i = 0; i <= 2; i++) {
            if (strcmp(s, st2[i]) == 0)
                count2++;
        }
        s = strtok(NULL, " ");
    }
    printf("%d союзов, %d местоимений", count1, count2);
    return 0;
}
stydent1991
0 / 0 / 0
Регистрация: 13.06.2010
Сообщений: 156
11.03.2012, 10:27  [ТС] #9
спасибо. а такой момент программа работает только dev c++ или должна и в турбо си?
в турбо си не запускается...

Добавлено через 9 часов 7 минут
Людии помогитее)

Добавлено через 2 часа 3 минуты
Исправил только теперь выводит 0 союзов и 0 местоимений
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
11.03.2012, 10:49 #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
stydent1991, чтобы работала в турбо - измените первые две строчки на
C++
1
2
#include <stdio.h>
#include <string.h>
А вообще, такого понятия как "не запускается" - нет. Есть конкретные ошибки, из-за которых она не запускается и которые отображаются в IDE
stydent1991
0 / 0 / 0
Регистрация: 13.06.2010
Сообщений: 156
11.03.2012, 11:07  [ТС] #11
Это да я сам разобрался
А как сделать штоб ввести с клавиатуры фразу и он определил сколько в ней союзов и мест
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
11.03.2012, 11:10 #12
stydent1991, через scanf добавить ввод
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2012, 11:10
Привет! Вот еще темы с ответами:

Дано натуральное число х. Определить кратно ли это число 2, 3, 5 - C++
Разработать программу, использующую разветвления в visual c++ 6.0 с коментариями

Дано натуральное число n (n>99). Определить число сотен внем - C++
Дано натуральное число n (n&gt;99). Определить число сотен внем. на паскале это выглядит такprogram z64; {$APPTYPE CONSOLE} uses ...

Определить число положительных и число отрицательных элементов в массиве - C++
В произвольно заданном одномерном массиве определить число положительных и число отрицательных элементов. Сформировать новый массив из...

Дано натуральное число n, символы s1...,sn. Определить число вхождений в последовательность s1...,sn группы букв abc, aba. - C++
Помогите решить задачу на завтра очень надо


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.03.2012, 11:10
Ответ Создать тему
Опции темы

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