Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/16: Рейтинг темы: голосов - 16, средняя оценка - 4.69
23 / 23 / 12
Регистрация: 29.11.2009
Сообщений: 210
1

Подсчитать количество слов в строке

12.04.2010, 16:17. Просмотров 3037. Ответов 12
Метки нет (Все метки)

1.Дано строку слова в которой разделены пробелом (1 или несколькими). Подсчитать количество слов в даной строке.
2.Дано текст. Подсчитать количество строк.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.04.2010, 16:17
Ответы с готовыми решениями:

Дан текст, в котором слова разделены одним пробелом. а) Подсчитать количество слов в данной строке. б) Подсчитать количество букв а в последнем слове
Дан текст, в котором слова разделены одним пробелом. а) Подсчитать количество слов в данной строке....

Подсчитать количество всех строк, а потом - количество слов в каждой строке
Программа считает количество строк в файле add.txt выводит на экран и записывает в новый указанный...

Подсчитать количество слов и количество букв в каждом слове в строке, введённой с клавиатуры
Нужно написать программу, которая считает количество слов и количество букв в каждом слове в...

Массив символов (Подсчитать количество слов в строке, при условии, что в качестве разделителя слов используется один или несколько пробелов)
Написать программу, в которой с клавиатуры вводится строка символов. Подсчитать количество слов в...

12
1257 / 795 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
12.04.2010, 16:24 2
1
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
#define size 255
int main(){
char buf[size];
printf("input text: "); gets(buf);
unsigned int lenght = strlen(buf);
unsigned int i ;
int count = 1;
for( i = 0 ; i < lenght ; i++)if(buf[i]==' '||buf[i]=='\0')count++;
printf("count of words : %d",count);
printf("\n");
 
getch();
return 0;
}
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10877 / 6768 / 1619
Регистрация: 25.07.2009
Сообщений: 12,484
12.04.2010, 16:27 3
Genius Ignat, если между словами несколько пробелов (а по условию допускается) - будет неправильно считать.
2
1257 / 795 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
12.04.2010, 16:28 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 <stdio.h>
#include <conio.h>
#include <string.h>
 
#define size 255
int main(){
char buf[size] = "ddddddddd\n aaaaaaa\n nrrrrr\n kkkk \n ";
 
 
unsigned int lenght = strlen(buf);
unsigned int i ;
printf("%s",buf);
printf("\n");
 
int count = 0;
for( i = 0 ; i < lenght ; i++)if(buf[i]=='\n')count++;
printf("count of str : %d",count);
printf("\n");
 
 
 
 
 
 
getch();
return 0;
}
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10877 / 6768 / 1619
Регистрация: 25.07.2009
Сообщений: 12,484
12.04.2010, 16:29 5
C
1
2
3
4
5
6
7
8
9
10
...
#include <string.h>
...
char buf[SOME_SIZE], *p;
size_t count;
...
for ( count = 0, p = strtok(buf, " "); p != NULL; ++count, p = strtok(NULL, " ") )
  ;
printf("%d words\n", count);
...
2
1257 / 795 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
12.04.2010, 16:32 6
Genius Ignat, если между словами несколько пробелов (а по условию допускается) - будет неправильно считать.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
#define size 255
int main(){
char buf[size];
printf("input text: "); gets(buf);
unsigned int lenght = strlen(buf);
unsigned int i ;
int count = 1;
for( i = 0 ; i < lenght ; i++)if((buf[i]==' '&&buf[i+1]!=' ')||buf[i]=='\0')count++;
printf("count of words : %d",count);
printf("\n");
 
getch();
return 0;
}
Если и здесь плохо исправлять не буду.
1
23 / 23 / 12
Регистрация: 29.11.2009
Сообщений: 210
12.04.2010, 16:32  [ТС] 7
Есть проблема!! Если ввести два пробела подряд то оно выведет что это тоже слово.
0
45 / 45 / 9
Регистрация: 11.04.2010
Сообщений: 223
12.04.2010, 17:36 8
Можно так!
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<stdio.h>
#include<string.h>
#define SBUF 256
int main(){
    int i=0;
    char buf[SBUF];
    printf("\nEnter string\n");
    gets(buf);
    if(strtok(buf," ")!=0){
        i++;
        while(strtok(NULL," ")!=NULL){
            i++;
        }
    }
    printf("%d\n",i);
    return 0;
}
1
23 / 23 / 12
Регистрация: 29.11.2009
Сообщений: 210
12.04.2010, 20:17  [ТС] 9
Genius Ignat, мне нужно чтобы пользователь сам вводил текст
0
23 / 23 / 12
Регистрация: 29.11.2009
Сообщений: 210
16.04.2010, 20:56  [ТС] 10
Цитата Сообщение от Rom@ Посмотреть сообщение
Дано строку слова в которой разделены пробелом (1 или несколькими). Подсчитать количество слов в даной строке.
Блин препод немного изменил условие надо:
Дано строку слова в которой разделены пробелом (1 или несколькими). Подсчитать количество слов в даной строке, которые содержат "ААА".
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10877 / 6768 / 1619
Регистрация: 25.07.2009
Сообщений: 12,484
16.04.2010, 23:00 11
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
#include <iostream>
#include <string>
#include <sstream>
 
/*
    Дана строка, слова в которой разделены пробелом (1 или несколькими). 
    Подсчитать количество слов в даной строке, которые содержат "ААА". 
*/
 
int main(){
    std::string buf, tmp;
    size_t cnt = 0;
    const std::string to_find = "AAA";
    
    std::cout << "String: ";
    std::getline(std::cin, buf);
    std::istringstream ist(buf);
 
    while ( ist >> tmp )
        if ( tmp.find(to_find) != std::string::npos )
            ++cnt;
    
    std::cout << cnt << " words contain \"" << to_find << "\"" << std::endl;
    
    return 0;
}
1
23 / 23 / 12
Регистрация: 29.11.2009
Сообщений: 210
16.04.2010, 23:13  [ТС] 12
Цитата Сообщение от easybudda Посмотреть сообщение
#include <sstream>
а что ето за библиотека?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10877 / 6768 / 1619
Регистрация: 25.07.2009
Сообщений: 12,484
16.04.2010, 23:31 13
Rom@, в ней объявлены классы для манипуляции строками, как потоками ввода/вывода (istringstream, ostringstream, etc...)
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.04.2010, 23:31

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

Подсчитать количество слов в строке
Дано строку символов, среди которых есть произвольное количество пробелов. Подсчитать количество...

Подсчитать количество слов в строке
Задача на С подсчитать количество слов в строке.Помогите кто может

Подсчитать количество слов в строке
В заданной строке посчитать количество слов. Разделителем слов считается пробел. Вот примерно...

Подсчитать количество слов в строке
Дана строка. Словом в ней назовем последовательность подряд идущих латинских букв (больших или...


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

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

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