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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Аселек
11 / 11 / 0
Регистрация: 28.02.2011
Сообщений: 34
#1

Строки - замена позиций букв в словах - C++

04.03.2012, 16:49. Просмотров 879. Ответов 2
Метки нет (Все метки)

Очень прошу всех помочь со строковыми данными, буду признательна если поможете решить эту задачу:
Написать программу циклической перестановки букв в словах текста так, что i-я буква слова становится i+1-ой, а последняя - первой
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2012, 16:49     Строки - замена позиций букв в словах
Посмотрите здесь:

C++ Замена букв в словах
C++ Сменя позиций букв
C++ Подсчет букв в словах в строке
C++ Подсчитать количество слов и букв в этих словах в строке
Удалить центральный символ в словах с нечетным числом букв C++
Замена первой буквы во всех словах на заглавную C++
Перестановка вторых и последних букв в словах C++
C++ Замена букв в предложении. Не работает замена кириллицы
Вывести номера строк с удвоением букв в словах C++
Найти количество заглавных букв в словах C++
Выполнить циклический сдвиг элементов каждой строки матрицы на количество позиций, равное номеру строки C++
Вывод не повторяющихся букв в 2 словах C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Konstantin_D
14 / 14 / 2
Регистрация: 21.07.2011
Сообщений: 89
04.03.2012, 19:18     Строки - замена позиций букв в словах #2
Если в исходной строке могут быть только слова, разделенные пробелами/табуляцией/символами перевода строки, то:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
 
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;
}
Fox01
3 / 3 / 0
Регистрация: 04.03.2012
Сообщений: 55
04.03.2012, 19:52     Строки - замена позиций букв в словах #3
Цитата Сообщение от Konstantin_D Посмотреть сообщение
Если в исходной строке могут быть только слова, разделенные пробелами/табуляцией/символами перевода строки, то:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
 
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;
}
Если Вас не затруднит - поясните код программы для новичка в программировании
Что значит
C++
1
2
3
4
5
6
7
 istringstream iss(str);
              string outstr, word; 
 
и  outstr += *(word.end()-1);
        if ( 1 < word.size() )
            outstr += string(word.begin(), word.end()-1);
        outstr.push_back(' ');
Yandex
Объявления
04.03.2012, 19:52     Строки - замена позиций букв в словах
Ответ Создать тему
Опции темы

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