Форум программистов, компьютерный форум CyberForum.ru

В заданном предложении перед каждым словом поставить символ «?» - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
originallik
0 / 0 / 0
Регистрация: 16.10.2013
Сообщений: 8
18.12.2013, 11:27     В заданном предложении перед каждым словом поставить символ «?» #1
В заданном предложении перед каждым словом поставить символ «?» Напечатать исходный и преобразованный тексты, а также длину полученного предложения.
Помогите пожалуйста! ( Текст задан в коде)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2013, 11:27     В заданном предложении перед каждым словом поставить символ «?»
Посмотрите здесь:

Перед каждым словом добавить слово C++
C++ Дан символ С и строка S. Перед каждым вхождением C в строку S вставить строку S. Где ошибка?
Произвести вставку слова «не» перед каждым третьим словом в предложении C++
C++ Перед каждым знаком '=' вставить символ, стоящий за ним, если таковой имеется
В исходном предложении поставить между словами вместо пробела вставьте символ '*', вывести полученный текст и количество звездочек C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
18.12.2013, 12:06     В заданном предложении перед каждым словом поставить символ «?» #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <sstream>
#include <iterator>
#include <algorithm>
#include <string>
 
int main()
{
    std::string raw = "jlkj asfjsdl jf dasl;fj ldsahflkjdshf jashdf hsadjf";
    std::cout << raw << std::endl;
    std::stringstream ss(raw);
    std::cout << std::accumulate(
        std::istream_iterator<std::string>(ss),
        std::istream_iterator<std::string>(),
        std::string(),
        [](std::string init, const std::string &word) { 
            return init.append("?").append(word).append(" "); 
        }
    );
   
    return EXIT_SUCCESS;
}
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
18.12.2013, 12:16     В заданном предложении перед каждым словом поставить символ «?» #3
Можно так, без использования STL
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <cctype>
#include <string>
 
int main()
{
    std::string str = "abc dfg fg12 hijklmn, kolp: ndsjd, jdkd, jdc";
    std::cout <<str <<std::endl;
    unsigned int i = 0;
    while (i<str.length())
    {
        if (isalpha(str[i]))
        {
            str.insert(i,"?");
            ++i;
            while (i<str.length() && isalpha(str[i]))
                ++i;
        }
        else ++i;
    }
    std::cout <<str <<std::endl
              <<"Length: " <<str.length() <<std::endl;
    return 0;
}
originallik
0 / 0 / 0
Регистрация: 16.10.2013
Сообщений: 8
18.12.2013, 18:20  [ТС]     В заданном предложении перед каждым словом поставить символ «?» #4
Цитата Сообщение от MicM Посмотреть сообщение
Можно так, без использования STL
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <cctype>
#include <string>
 
int main()
{
    std::string str = "abc dfg fg12 hijklmn, kolp: ndsjd, jdkd, jdc";
    std::cout <<str <<std::endl;
    unsigned int i = 0;
    while (i<str.length())
    {
        if (isalpha(str[i]))
        {
            str.insert(i,"?");
            ++i;
            while (i<str.length() && isalpha(str[i]))
                ++i;
        }
        else ++i;
    }
    std::cout <<str <<std::endl
              <<"Length: " <<str.length() <<std::endl;
    return 0;
}
а как быть с русским языком ?
Yandex
Объявления
18.12.2013, 18:20     В заданном предложении перед каждым словом поставить символ «?»
Ответ Создать тему
Опции темы

Текущее время: 12:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru