#include <string>
#include <stdio.h>
bool word_contains_num(const std::string& word);
int _tmain(int argc, _TCHAR* argv[])
{
std::string source = "some string with3 a1 few wor4ds cont8aini4ng numbe224rs ";
std::string result = "";
std::string word;
std::string::size_type src_len = source.length();
std::string::size_type cur_pos = 0;
std::string::size_type space_pos;
while (cur_pos <= src_len)
{
space_pos = source.find(' ', cur_pos);
if (-1 == space_pos)
space_pos = src_len + 1;
word = source.substr(cur_pos, space_pos - cur_pos);
if (!word_contains_num(word))
result += word + " ";
cur_pos = space_pos + 1;
}
// отрезаем последний пробел в строке. о там обязательно будет,
//если строка не пустая
if (!result.empty())
result = result.substr(0, result.length() - 2);
printf("Source string: %s\nResult string: %s\n", source.c_str(), result.c_str());
return 0;
}
bool word_contains_num(const std::string& word)
{
for (int i = 0 ; i < word.length() ; i++)
{
if ( isdigit(word) )
return true;
}
return false;
}
С++. Строки. Удаление слов. Лаба!
Суть задачи:
Из заданной последовательности слов удалить слова, содержащие числа!!!!!
какие строки? char\std::string\CString(MFC\STL) или чё-то ещё?
string
! STRING.h (549,3): Functions containing for are not expanded inline
! STRING.h (557,3): Functions containing while are not expanded inline
! STRING.h (563,3): Functions containing for are not expanded inline
! STRING.h (575,3): Functions containing for are not expanded inline
! string.cc (686,32): Comparing signed and unsigned values
! string.cc (658,22): Cannot create pre-compiled header: code in header
str.cpp (6,29): Type name expected
Код:
int _tmain(int argc, _TCHAR* argv[])
int main(int argc, char* argv[])
этот _tmain это выпендрёжь студии на случай юникодного проекта
Переделал, но запустившись программа сразу же закрывается:confused:
это как учиться надо, что получив практически готовую прогу не быть в состоянии мелочи переделать? ПОЗОР ...
По-мойму лучше вообще c помощью типа char делать
По-мойму лучше вообще c помощью типа char делать[/QUOTE]
а ты уверен?
у тебя что, ни одной работающей лабы нету, чтобы посмотреть как вас учили это делать?
system("pause"), тебе в помощь, library stdlib.h