Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2011, 12:32   #11
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

cpluspluc.com там что все функции есть?
VintProg вне форума Ответить с цитированием
Старый 03.07.2011, 12:48   #12
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

как не странно да.
а вообще, а вам именно С нужен?
может стоит обратить внимание на С++?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 03.07.2011, 13:05   #13
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

Да C++ нужен.
VintProg вне форума Ответить с цитированием
Старый 04.07.2011, 11:54   #14
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Тогда вам нужен string: http://cplusplus.com/reference/string/string

Цитата:
Сообщение от VintProg Посмотреть сообщение
а если размер str1 и str2 не извесен? Как в такой ситуации действовать...
Для экономии памяти (если длина строки может варьироваться очень сильно) можно сначала определить длину этой подстроки, а потом выделить памяти сколько нужно.

Последний раз редактировалось ds.Dante; 04.07.2011 в 11:56.
ds.Dante вне форума Ответить с цитированием
Старый 04.07.2011, 17:02   #15
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

а есть такая функция которая возвращает кол-во слов в строке?
VintProg вне форума Ответить с цитированием
Старый 05.07.2011, 07:27   #16
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

Не ужели нету???
VintProg вне форума Ответить с цитированием
Старый 05.07.2011, 09:08   #17
Zuev93
Новичок
Джуниор
 
Регистрация: 04.06.2009
Сообщений: 1
По умолчанию

Я такой функции не встречал. А так посчитай количество пробелов и все
Zuev93 вне форума Ответить с цитированием
Старый 05.07.2011, 10:21   #18
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от VintProg Посмотреть сообщение
а есть такая функция которая возвращает кол-во слов в строке?
Есть !
Код:
string str; int n;
n =count ( str.begin(), str.end(), ' ');
http://cplusplus.com/reference/algorithm/count/
Считает количество пробелов в строке
An1ka вне форума Ответить с цитированием
Старый 05.07.2011, 12:01   #19
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Ну вообще количество пробелов не обязательно равно числу слов.
Код:
"  Однажды в     студеную зимнюю    пору... "
как вам?
Код:
std::string str = "Thank you! You're welcome! Thank you for your help!";
std::stringstream ss(str);
std::string s;
int count = 0;
while (ss >> s)
 ++count;
Или как там? Что-то забыл, как определить, что уже все считано из буфера? eof что ли? В общем, идея понятна.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 05.07.2011, 13:26   #20
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от Гром Посмотреть сообщение
Ну вообще количество пробелов не обязательно равно числу слов.
Тогда вот так:
Код:
class condition_letter
{
	static const std::string symbols; // Наши символы разделители между словами
	bool letter;
public:
	condition_letter () :letter( false){}
	bool operator() ( char c)
	{
		if ( symbols.find( c) == -1) {
			if( !letter) return letter =true;
			else return false; }
		else return letter =false;
	}
};
const std::string condition_letter::symbols(" !?,.;:()");
А потом просто считаем слова:
Код:
std::string str = "  Однажды в     студеную зимнюю    пору... ";
int count_words =count_if ( str.begin(), str.end(), condition_letter() );

Последний раз редактировалось An1ka; 05.07.2011 в 13:34.
An1ka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
что такое f. spezzA Паскаль, Turbo Pascal, PascalABC.NET 1 13.06.2011 16:21
Что такое хорошо, а что такое плохо... EL_MoC Microsoft Office Word 6 14.04.2011 18:49
Что такое ^= ? k1r1ch Общие вопросы C/C++ 3 10.01.2010 17:15
то такое мастерство в программировании, что такое мастер программист и что он может? Cezar Свободное общение 29 02.06.2007 23:48