Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390

самый простой вопрос который мог задать нуб!не получается подсчет слов!!!!!

10.12.2009, 21:58. Показов 2223. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int wordCount(string a){
int i,c,n;
c=n=0;
i=1;
while((c=a[i])!='\0'){
    if(c==' ')++n;
i++;
}
return n;
}
int main()
{
string a;
cin>>a;
cout<<wordCount(a);
    system("pause");
        return 0;
}
функция принимает в данном код стринг,и просто считывает слова,считывая пробелы...но у меня всегда возвращается 0
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.12.2009, 21:58
Ответы с готовыми решениями:

Самый простой подсчет+
К сожалению так и не смог освоить js. Вопрос такой. Есть у меня три импута текста. В каждом числовые значения. Первый задан, допустим 2,...

Создать простой web сервер который мог бы открывать HTML страницу
Привет всем! Помогите создать простой web сервер который мог бы открывать html страничку! Возьмём для примера самую известную)) VK.COM ...

Самый простой вопрос на сегодня.
Простейшая задача. Я думал справится за пару минут в купе с google, но что-то как-то не срослось =( Вспомнился этот форум. В общем,...

14
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
10.12.2009, 22:08
МедведЪ, а не легче введённые слова кидать в vector < string > методом size() получишь количество слов
0
 Аватар для Sayrus89
32 / 32 / 7
Регистрация: 26.10.2009
Сообщений: 98
10.12.2009, 22:08
cin считывает строку до первого пробела. Используй:
C++
1
getline(cin,a);
0
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
10.12.2009, 22:11  [ТС]
Sayrus89, забыл спасибо
0
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
10.12.2009, 22:11
МедведЪ, а в твоём коде немного ерунда) во первых cin'om ты получишь строку до первого пробела и в string нету нулевого символа на конце
0
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
10.12.2009, 22:11  [ТС]
Андрейка,с вектором не знаком...пока
0
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
10.12.2009, 22:12
МедведЪ, пока
0
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
10.12.2009, 22:13  [ТС]

Не по теме:

Sayrus89, вы случайно в Unreal tournament не играете?:)



Добавлено через 10 секунд
Андрейка,
0
 Аватар для Sayrus89
32 / 32 / 7
Регистрация: 26.10.2009
Сообщений: 98
10.12.2009, 22:16
Пожалуйста

Кстати, так врядли получится подсчитать количество слов в строке.
Вот, например, листинг программы на паскале, подсчитывающей кол-о слов между первыми двумя запятыми :

Pascal
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
uses crt;
 
type TDelimiter = set of Char;
 
var
inText,             {исходный текст}
tmpString : string;     {временная строка}
first,              {позиция первой запятой}
second,             {позиция второй запятой}
TextLength,             {длина текста}
i, 
NumOfWords : integer;       {счетчик слов}
delimiters : TDelimiter;    {разделители}
 
 
begin
clrscr; {очищяем экран}
 
{в переменной delimiters должны храниться символы,
 которые нужно считать разделителями слов}
delimiters := ['.', ':', '!', '?', ';', '(', ')'];
 
NumOfWords := 0;
 
Writeln('***Введите текст:');
Readln(inText);         {считываем текст с клавиатуры}
Writeln('');
 
TextLength := Length(inText);
first := Pos(',', inText);  {находим позиция первой запятой}
if first=0 then         {если запятая не найдена}
   begin
   Writeln('В тексте нет ни одной запятой');
   Writeln('Нажмите клавишу для выхода');
   readkey;
   exit;
   end;
 
{копируем во временную строку часть исходного текста,
 начиная с позиции, стоящей после первой запятой}
tmpString := Copy(inText, first + 1, TextLength - first);
second := Pos(',', tmpString);  {ищем вторую во временной строке вторую запятую}
if second=0 then        {если вторая запятая не найдена}
   begin
   writeln('Вторая запятая не найдена');
   Writeln('Нажмите клавишу для выхода');
   readkey;
   exit;
   end;
 
TextLength := Length(tmpString);
Delete(tmpString, second, TextLength - second + 1);     {обрезаем строку, оставляя только часть,}
                            {находящуюся между запятыми}
 
TextLength := Length(tmpString);            {запоминаем длину текста}
if TextLength=0 then                    {если строка получилась пустая}
   begin
   Writeln('Между запятыми нет текста');
   Writeln('Нажмите клавишу для выхода');
   Readkey;
   exit;
   end;
 
{заменяем все разделители пробелами}
{Это делаем для того, чтобы перед и после слов стояли только пробелы
 и легче можно было бы определить слово, чтобы посчитать их количество }
for i:=1 to TextLength do
    begin
       if tmpString[i] in delimiters then tmpString[i]:=' ';
    end;
 
{подсчитываем количество слов}
{Если i-ый символ пробел, а (i+1)-ый не разделитель и не пробел,
 то увеличиваем счетчик слов на еденицу}
for i:=1 to TextLength do
    begin
       if (tmpString[i]=' ')
          AND NOT(tmpString[i+1]=' ') then inc(NumOfWords);
    end;
 
if NOT(tmpString[1]=' ') then inc(NumOfWords); {если первый символ в строке не пробел, увеличиваем счетчик}
Writeln('***Часть строки, в которой определяем количество слов:');
Writeln(tmpString);
Writeln('');
Writeln('***Количество слов иежду первой и второй запятыми: ',NumOfWords);
readkey;
end.
Добавлено через 1 минуту
В Unreal играл когда-то (и мне очень, кстати, нравилось ) но не через интернет
0
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
10.12.2009, 22:45  [ТС]
Sayrus89, Oo

Добавлено через 1 минуту

Не по теме:

Sayrus89, aaa...я по инету играю там sayus один:)


по теме:
почему не получится?у меня n к инициализован 1....все правильно считает

Добавлено через 26 минут
ладно,еще такой вопрос:
C++
1
    if(c==' ' || c=='\.' || c=='\,')++n;
тут вроде все понятно...
в консоли когда я ввожу hello,world-возвращает 2,правильно
если я ввожу hello world-2-правильно
но если я ввожу hello, world-3 почему?точнее я знаю почему потому что программа увидела пробел и символ запятая,а в условии говорится если ,++ и если пробел ++...
как исправить эту логичексую ошибку?Я думаю нужен еще один цикл,и каждый раз написать break?
0
 Аватар для Gravity
577 / 571 / 65
Регистрация: 29.01.2009
Сообщений: 1,274
11.12.2009, 02:18
МедведЪ, глянь сюда Подсчитать количество слов в тексте
1
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
11.12.2009, 10:12  [ТС]
Gravity, с чаром можно?ЗЫ я не с копма
0
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
11.12.2009, 16:06  [ТС]
Gravity,
C++
1
2
int state;
        state = OUT;
???????????

Добавлено через 21 минуту
народ так что?Какие варианты...я тут вспомнл что в книге говорилось
слово-это пучка символов,разделенные пробелом,запятым и т.д.
как мне решить это ошбику?
самый простой вопрос который мог задать нуб!не получается подсчет слов!!!!!

Добавлено через 1 минуту
Gravity, у тебя в коде define OUT и IN Нетуи нельзя ли просто мой код исправить??
0
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
11.12.2009, 16:22
МедведЪ, заюзать boost::regex - регулярный выражения из библиотеки boost погугли дабы получить полную инфу)
0
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
11.12.2009, 16:24  [ТС]
код можно андрей?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.12.2009, 16:24
Помогаю со студенческими работами здесь

Самый простой вопрос по таблицам
Здравствуйте! Начал создавать базу по реализации товара и тут же возникла проблема. Есть таблица остатки, есть таблица реализация. ...

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

Напишите самый простой калькулятор, который выполняет все 4 функции
Напишите самую простую программу-калькуляр, которая выполнаяет все 4 функции

Нужен такой калькулятор, самый простой код, который только может быть

Написать самый простой антивирусный сканер, который сможет найти вирус, записанный в автозагрузку
Всем привет, пишу практическую работу по информационной безопасности, необходимо написать самый простой антивирусный сканер, который сможет...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru