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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
vikaplys
0 / 0 / 1
Регистрация: 19.11.2009
Сообщений: 29
#1

количесво слов из 4 букв - C++

11.05.2010, 22:37. Просмотров 1171. Ответов 8
Метки нет (Все метки)

Необходимо посчитать слова состоящие из 4 букв в строке используя дружественные функции.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <vcl.h>
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <iostream.h>
 
int main()
{
char s[255];
cout<<"Vvedite stroky: ";
gets(s);
unsigned int a,i;
a=0;
for (i=0;i<strlen(s)-1;i++)
 
 if ((s[i]==' ') && (s[i+1]!=' ') )
  a=a+1;
if (s[0]!=' ')
    a=a+1;
cout<<"V vedenoj stroke slov: "<<a;
getch();
}
количество слов считает, а вот как сделать проверку на количество букв не знаю. Помогите кто может.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2010, 22:37     количесво слов из 4 букв
Посмотрите здесь:

Сколько слов, состоящих из неболее 4 букв C++
поиск слов, состоящих из прописных букв C++
Подсчитать количесво пропичных букв. C++
C++ Вывод на экран слов, начинающихся с гласных букв
C++ Улучшение алгоритма подсчета строк, букв, слов
Найти количесво нечетных делителей натурального числа C++
C++ Найти количесво четных элементов матрицы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VtaMC
Просто Веталь
 Аватар для VtaMC
159 / 99 / 5
Регистрация: 11.05.2009
Сообщений: 628
11.05.2010, 22:50     количесво слов из 4 букв #2
Вот так:
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 <vcl.h>
#include <tchar.h>
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <iostream.h>
 
int main()
{
    char s[255];
    cout<<"Vvedite stroky: ";
    gets(s);
    unsigned int a,i, j = 0;
    a=0;
    for (i = 0; i < strlen(s); i++)
    {
        if ((s[i]==' ') && (s[i+1]!=' ') )
            a=a+1;
        if(s[i] >= 'a' && s[i] <= 'z')
            j++;
    }
    if (s[0]!=' ')
        a=a+1;
    cout<<"V vedenoj stroke slov: " << a << endl;
    cout << "Kollichestrvo bukv: " << j << endl;
    getch();
}
vikaplys
0 / 0 / 1
Регистрация: 19.11.2009
Сообщений: 29
11.05.2010, 23:16  [ТС]     количесво слов из 4 букв #3
Вы неправильно поняли. Есть строка текста в которой нужно посчитать количество слов длиной в 4 символа, а не длину всей строки.
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
11.05.2010, 23:23     количесво слов из 4 букв #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
25
26
27
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
    
#define MAX_LEN 256
#define SPC " \t\n"
#define CHARS_NEEDED 4
    
int main(void){
    char buf[MAX_LEN], *p;
    size_t cnt;
    
    printf("String: ");
    if ( ! fgets(buf, MAX_LEN, stdin) ){
        perror("fgets");
        exit(1);
    }
    
    cnt = 0;
    for ( p = strtok(buf, SPC); p; p = strtok(NULL, SPC) )
        if ( strlen(p) == CHARS_NEEDED )
            ++cnt;
    
    printf("%d words with length of %d characters\n", cnt, CHARS_NEEDED);
    
    exit(0);
}
rangerx
1921 / 1530 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
11.05.2010, 23:25     количесво слов из 4 букв #5
Необходимо посчитать слова состоящие из 4 букв в строке используя дружественные функции.
А дружественные функции здесь зачем?
vikaplys
0 / 0 / 1
Регистрация: 19.11.2009
Сообщений: 29
12.05.2010, 00:08  [ТС]     количесво слов из 4 букв #6
Цитата Сообщение от rangerx Посмотреть сообщение
А дружественные функции здесь зачем?
дружественные функции надо использовать по условию задания.

Можете пояснить этот участок кода.
C++
1
2
3
4
        if ( ! fgets(buf, MAX_LEN, stdin) ){
                perror("fgets");
                exit(1);
        }
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
12.05.2010, 00:17     количесво слов из 4 букв #7
Цитата Сообщение от vikaplys Посмотреть сообщение
Можете пояснить этот участок кода
#include <stdio.h>
char *fgets(char *str, int num, FILE *stream);
Функция fgets() читает из входного потока stream не более num-1 символов и помещает их в массив символов, адресуемый указателем str. Символы читаются до тех пор, пока не будет прочитан символ новой строки или значение EOF, либо пока не будет достигнут заданный предел. По завершении чтения символов сразу же за последним из них размещается нулевой символ. Символ новой строки сохраняется и становится частью массива, адресуемого элементом str.
stdin - стандартный поток ввода (клавиатура).
Блок кода означает следующее: прочитать строку из стандартного ввода. Если не получилось - выругаться и выйти.
rangerx
1921 / 1530 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
12.05.2010, 00:38     количесво слов из 4 букв #8
дружественные функции надо использовать по условию задания.
И почему вы их не используете в таком случае?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2010, 00:55     количесво слов из 4 букв
Еще ссылки по теме:

C++ Подсчитать количество слов, букв в тексте
C++ STL: Сортировка слов по количеству согласных букв; вывод слов, встречающихся в списке более одного раза
Количество разных слов из n букв C++
Сортировка слов по количеству в них букв C++
Удаление слов с совпадением нечетных букв C++

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

Или воспользуйтесь поиском по форуму:
vikaplys
0 / 0 / 1
Регистрация: 19.11.2009
Сообщений: 29
12.05.2010, 00:55  [ТС]     количесво слов из 4 букв #9
Цитата Сообщение от rangerx Посмотреть сообщение
И почему вы их не используете в таком случае?
Пока не знаю как, изучаю литературу на эту тему. Если знаете как можно реализовать это, прошу помочь.
Yandex
Объявления
12.05.2010, 00:55     количесво слов из 4 букв
Ответ Создать тему
Опции темы

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