PDA

Показать полную графическую версию : посчитать количество символов без пробела


ShadowMas
02-05-2009, 23:51
Снова обращаюсь к вам так как подходящего самоучителя по данной теме не нашёл!

Странно как то но не могу найти достаточьно полного руководства с примерами по типу данных string и char

Описано как то в кратце всё?

Если можно покажите на примере такую задачу:

(И отдельная просьба можно нормальный самоучитель с примерами где освещена эта тема!!!!Пользовался такими справками для новичьков:
"Учимся программировать на языке C++.chm","Справочное руководство по C++.chm",С++Бархaтный путь.chm,"Бьярн Страуструп введение в язык С++.chm")

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

ShadowMas
03-05-2009, 08:49
Спасибо за код и за совет, теперь есть пример и направление буду разбираться! :)

pva
04-05-2009, 07:13
Используя шаблоны C++:

// #include <string>
// using namespace std;
string data = "sdfds dsff safda d asd ads";
unsigned result;

// первый вариант (самый простой)
// #include <functional>
// using namespace std;
result = data.size() - count(data.begin(), data.end(), ' ');

// второй (то, что .::.DIMA.::. предложил)
// #include <functional>
// #include <algorithm>
// using namespace std;
result = count_if(data.begin(), data.end(), bind1st(not_equal_to<char>(), ' '));

описание функциональных классов есть в хелпе от борланда. Если что непонятно - спрашивай, объяснить не обломно :)

AlexTNT
05-05-2009, 17:39
ShadowMas, .::.DIMA.::., можно программку немножко по мощнее сделать. Вот пример:

#include <iostream>
#include<cstdlib>
using namespace std;
int main ()
{
char c;
int i=0;
cout << "Введите строку\n";
while(cin.get(c)&&c!='\n')
if(c!=' ')
i++;
cout<<"Кол-во символов без пробелов:"<<i<<'\n';
system("PAUSE");
return 0;
}

pva
07-05-2009, 07:27
...с использованием алгоритмов:

// правда этот вариант читает поток до конца, а не до конца строки
typedef istreambuf_iterator<char> tmp_iter_t;
result = count_if(tmp_iter_t(cin), tmp_iter_t(), bind1st(not_equal_to<char>(), ' '));

ShadowMas
07-05-2009, 10:51
ОГРОМНОЕ ВАМ СПАСИБО!!!

Ато я прям таки уже потерялся :) не как не мог найти учебник с нормальными примерами...

Вот теперь понятно! Будет от чего отталкиваться :up




© OSzone.net 2001-2012