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

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

Войти
Регистрация
Восстановить пароль
 
Hi4ko
74 / 74 / 4
Регистрация: 21.10.2010
Сообщений: 376
#1

"Количество слов" - C++

20.11.2010, 23:31. Просмотров 1422. Ответов 7
Метки нет (Все метки)

http://informatics.mccme.ru/moodle/m...&chapterid=106
Дана строка, содержащая пробелы. Найдите, сколько в ней слов (слово – это последовательность непробельных символов, слова разделены одним пробелом, первый и последний символ строки – не пробел).
Формат входных данных

На вход подается несколько строк.

Формат выходных данных

Необходимо вывести количество слов в первой из введенных строк.
Изучаю язык сам)(не по школе). Вот мой, который сам написал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
using namespace std;
int main()
{
char str[256]; 
cin>>str;
int l=strlen(str),i,n;
n=1;
str[l]=' ';
for(i=1;i=l;++i)
{
if(str[i]=' ')
{
n=n+1;
}
}
cout<<n<<endl;
}
Здесь есть ошибка, но я чётко не понимаю, какая. Прога компилирует её(Visual Studio C++ 2010, Borland C++), но когда вводишь строку, он просто показывает введённую строку, но ничего не выполняет. Не показывает результат n. В проверке пишет:
009496.cpp: In function 'int main()':
009496.cpp:8: error: 'strlen' was not declared in this scope
009496.cpp:11: warning: suggest parentheses around assignment used as truth value
009496.cpp:13: warning: suggest parentheses around assignment used as truth value
Помогите поправить код и решить задачу)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2010, 23:31     "Количество слов"
Посмотрите здесь:

Подсчитать количество слов "KSM" и "SKS" в строке - C++
Доброго времени суток, господа. Не знаю что делать с поставленном мне задачей -- подсчитать количество слов &quot;KSM&quot; и &quot;SKS&quot; в строке char...

Найти количество слов в заданном тексте, которые заканчиваются на "ая" - C++
Привет, ребята! Помогите пожалуйстас заданием)) Дан текст. Найти количество слов ,которые заканчиваютсяна &quot;ая&quot; спасибо))

Посчитать количество слов которые начинаются на букву "Б" - C++
Посчитать количество слов которые начинаются на букву &quot;Б&quot;

Определить количество слов в предложении, заканчивающихся на букву "я" - C++
//11. С клавиатуры посимвольно вводится предложение. Определить количество слов в предложении, заканчивающихся на букву &quot;я&quot;. как...

Найти в строке количество слов, оканчивающихся буквой "й" - C++
Дана строка текста. Найти:количество слов, оканчивающихся буквой «й»;

Подсчитать количество слов, содержащих три буквы "c" - C++
Люди помогите, крик души. Завтра сдавать а ничего не готово . Нужно написать программу по условию: Во введенном тексте подсчитать...

Дан текст, определить количество слов "кот" - C++
Всем привет! Вообщем мне дали практическую из десяти задач.. Осталось сделать 2 шт. Задача 70. Дано текст, определить количество...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
20.11.2010, 23:35     "Количество слов" #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cstring>
#include <sstream>
 
using namespace std;
int main()
{
char str[256];
cin.getline(str, 256);
int l=strlen(str),i,n=0;
istringstream ist(str);
char temp[256];
while(ist>>temp)
   n++;
cout<<n<<endl;
}
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,438
20.11.2010, 23:36     "Количество слов" #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
using namespace std;
int main(){
 char str[256]; 
 cin>>str;
 int l=strlen(str),i,n;
 
 
 n=1;
 str[l]=' ';
 
 for(i=1;i<l;++i){
  if(str[i]=' ')  {
   n=n+1;
  }
 }
 cout<<n<<endl;
 
}
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
20.11.2010, 23:37     "Количество слов" #4
kravam, Таки
C++
1
n=1;//Может 0?
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,438
20.11.2010, 23:45     "Количество слов" #5
Да чёрт его знает, что он задумал. Короче, увяз коготок- всей птичке пропасть.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
using namespace std;
int main(){
 char str[256]; 
 cin>>str;
 int l=strlen(str),i,n;
 
 
 n=1;
 str[l]=' ';
 
 for(i=1;i<l;++i){
  if(str[i]==' ')  {
   n=n+1;
  }
 }
 n++;
 cout<<n<<endl;
 }
Добавлено через 2 минуты
Бум думать, что в конце строки пробелы не предполагаются.
Hi4ko
74 / 74 / 4
Регистрация: 21.10.2010
Сообщений: 376
20.11.2010, 23:51  [ТС]     "Количество слов" #6
Так,
Цитата Сообщение от ForEveR Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cstring>
#include <sstream>
 
using namespace std;
int main()
{
char str[256];
cin.getline(str, 256);
int l=strlen(str),i,n=0;
istringstream ist(str);
char temp[256];
while(ist>>temp)
   n++;
cout<<n<<endl;
}
Спасибо, код правильный).
Но есть вопросы к нему из-за моих незнаний:
1. За что отвечает класс <sstream>?
2. istringstream ist(str); - что выполняет эта команда с str?
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
21.11.2010, 01:26     "Количество слов" #7
Hi4ko, sstream - хедер строковых поток
istringstream ist - строковый поток
(str) - передача строки как параметра для конструктора строкового потока.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.12.2012, 06:43     "Количество слов"
Еще ссылки по теме:

Определить количество слов в предложении, заканчивающихся на букву "я" - C++
С клавиатуры посимвольно вводится предложение. Определить количество слов в предложении, заканчивающихся на букву &quot;я&quot;.

Посчитать в предложении количество слов, заканчивающихся на букву "о" - C++
Всем привет! Помогите решить задачу: Посчитать в предложении количество слов, заканчивающихся на букву &quot;о&quot; Заранее спасибо:)

Посчитать количество слов "что" в заданном тексте - C++
Дано текст. Сколько в нём слов &quot;что&quot;.

Посчитать количество слов со встречающимся символом "Х" в тексте - C++
Надо на си написать программу, которая будет считать сколько раз в тексте встречаются слова с буквой &quot;х&quot;. Помогите,пжл. Текст вводиться с...

Определить количество слов в которые не входит буква "У" - C++
Доброго времени суток всем,совсем недавно начала изучать С++ и вот мне дали задание:&quot;С клавиатуры посимвольно вводится...


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

Или воспользуйтесь поиском по форуму:
T-killer
1 / 1 / 0
Регистрация: 02.05.2012
Сообщений: 18
26.12.2012, 06:43     "Количество слов" #8
А как написать то же задание , но с unsigned char и без <sstream> и istringream?
Yandex
Объявления
26.12.2012, 06:43     "Количество слов"
Ответ Создать тему
Опции темы

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