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

Как объяснить в программе эти данные - C++

Восстановить пароль Регистрация
 
Fox01
3 / 3 / 0
Регистрация: 04.03.2012
Сообщений: 55
13.03.2012, 20:54     Как объяснить в программе эти данные #1
Всем привет!
Помогите разобраться с данной частью программы, проясните пожалуйста что она означает по строчно - очень прошу - запуталась...поняла что задаем строку и он ее модифицированную выводит...а подпункты не смогла разобрать...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
string str("12345 67890 abcde klmno"); 
istringstream iss(str);
string outstr, word;
while ( iss >> word )
{
outstr += *(word.end()-1);
if ( 1 < word.size() )
outstr += string(word.begin(), word.end()-1);
outstr.push_back(' ');
}
cout << str << endl << outstr << endl;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2012, 20:54     Как объяснить в программе эти данные
Посмотрите здесь:

Функция может менять глобальные данные и сохраняются ли эти изменения C++
Одну строку инициализировать в программе, другую-ввести с клавиатуры. Сравнить данные строки по длине. C++
C++ Есть файл с данными . Как переписать эти данные в массив структур?
Объяснить как работает задача C++
C++ Ошибка в программе. Данные записываются в файл некорректно
Заменить некоторые данные в программе C++
C++ Заменить некоторые данные в программе
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
13.03.2012, 21:03     Как объяснить в программе эти данные #2
Сначала заносится последний символ, затем(если есть еще символы) заносятся остальные, все это дело завершается пробелом.
Fox01
3 / 3 / 0
Регистрация: 04.03.2012
Сообщений: 55
13.03.2012, 21:06  [ТС]     Как объяснить в программе эти данные #3
Цитата Сообщение от soon Посмотреть сообщение
Сначала заносится последний символ, затем(если есть еще символы) заносятся остальные, все это дело завершается пробелом.
а как понять вот это:
istringstream iss(str);
string outstr, word;

что это значит, можете пожалуйста объяснить
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
13.03.2012, 21:15     Как объяснить в программе эти данные #4
std::istringstream
std::basic_string
Fox01
3 / 3 / 0
Регистрация: 04.03.2012
Сообщений: 55
13.03.2012, 21:40  [ТС]     Как объяснить в программе эти данные #5
Цитата Сообщение от soon Посмотреть сообщение
на англ ((( не дружу с ним...(((
а Вас не затруднит прокомментировать данный код программы - уже голова кругом....очень прошу - ведь Вам это понятно как 2*2...
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
13.03.2012, 21:59     Как объяснить в программе эти данные #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
    string str("12345 67890 abcde klmno");
    istringstream iss(str);
    string outstr, word;
    while ( iss >> word )//Грубо говоря, пока в потоке есть символы для ввода в переменную
    {
        outstr += *(word.end()-1);//Добавить к outstr последнюю букву введенного слова
        if ( 1 < word.size() )//Если в слове больше одной буквы
            outstr += string(word.begin(), word.end()-1);//Прибавить остальные буквы(кроме последней)
        outstr.push_back(' ');//Добавить пробел
    }
    cout << str << endl << outstr << endl;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2012, 22:33     Как объяснить в программе эти данные
Еще ссылки по теме:

Объяснить значение строки в программе C++
Объяснить, что делает каждый цикл в программе C++
C++ Как описать/объяснить Эту строчку?
Включение заголовочного файла с классом, определяемым пользователем(объяснить ошибку в программе) C++
Нужно объяснить некоторые строки в программе C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Fox01
3 / 3 / 0
Регистрация: 04.03.2012
Сообщений: 55
13.03.2012, 22:33  [ТС]     Как объяснить в программе эти данные #7
Цитата Сообщение от soon Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
    string str("12345 67890 abcde klmno");
    istringstream iss(str);
    string outstr, word;
    while ( iss >> word )//Грубо говоря, пока в потоке есть символы для ввода в переменную
    {
        outstr += *(word.end()-1);//Добавить к outstr последнюю букву введенного слова
        if ( 1 < word.size() )//Если в слове больше одной буквы
            outstr += string(word.begin(), word.end()-1);//Прибавить остальные буквы(кроме последней)
        outstr.push_back(' ');//Добавить пробел
    }
    cout << str << endl << outstr << endl;
}
Огромнейшее спасибо!!!
Yandex
Объявления
13.03.2012, 22:33     Как объяснить в программе эти данные
Ответ Создать тему
Опции темы

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