Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

С++. Строки. Удаление слов. Лаба!

11K
24 ноября 2006 года
M0n-&-T0r
28 / / 15.11.2006
Прошу решить задачу!!!! Срочно к завтрашнему дню очь надо!!!! Я бы и сам решил, но забыл учебник, а без него...:rolleyes:

Суть задачи:

Из заданной последовательности слов удалить слова, содержащие числа!!!!!
355
25 ноября 2006 года
<SCORP>
786 / / 21.10.2006
какие строки? char\std::string\CString(MFC\STL) или чё-то ещё?
11K
25 ноября 2006 года
M0n-&-T0r
28 / / 15.11.2006
string
355
25 ноября 2006 года
<SCORP>
786 / / 21.10.2006
Код:
#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;
}
11K
26 ноября 2006 года
M0n-&amp;-T0r
28 / / 15.11.2006
не работает:(

! 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[])
последняя ошибка указывает на эту строку
355
27 ноября 2006 года
&lt;SCORP&gt;
786 / / 21.10.2006
сделай
int main(int argc, char* argv[])

этот _tmain это выпендрёжь студии на случай юникодного проекта
11K
27 ноября 2006 года
M0n-&amp;-T0r
28 / / 15.11.2006
Переделал, но запустившись программа сразу же закрывается:confused:
242
27 ноября 2006 года
Оlga
2.2K / / 04.02.2006
а дописать в конце main функцию getch() и подключить библиотеку conio.h не судьба?
это как учиться надо, что получив практически готовую прогу не быть в состоянии мелочи переделать? ПОЗОР ...
11K
27 ноября 2006 года
M0n-&amp;-T0r
28 / / 15.11.2006
И что дальше, всё равно результат тот же...

По-мойму лучше вообще c помощью типа char делать
242
27 ноября 2006 года
Оlga
2.2K / / 04.02.2006
[QUOTE=M0n-&-T0r;156329]И что дальше, всё равно результат тот же...

По-мойму лучше вообще c помощью типа char делать[/QUOTE]
а ты уверен?
у тебя что, ни одной работающей лабы нету, чтобы посмотреть как вас учили это делать?

system("pause"), тебе в помощь, library stdlib.h
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог