Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2012, 17:39   #1
killeraleksana
 
Регистрация: 14.12.2011
Сообщений: 9
По умолчанию c++ перестановка слов в строке

Доброго времени суток.
Дано осмысленное текстовое сообщение(содержащее слова,разделенные пробелами,знаками препинания,в конце сообщения стоит точка). Поменять слова в сообщении по принципу: первое со вторым,третье с четвертым и т.д.

Проблема номер раз: не представляю по какому алгоритму это делать. Вот задумка :
1)находим в исходной строке первое слово,выделяем как подстроку,копируем в строку№1, находим второе слово и 2)копируем его в строку№2;
3)удаляем из исходной строки 2 этих слова;
4)в новую строку№3 вставляем строку№2,а затем строку№1.
5)очищаем строку№1 и строку№2.
Все это будет происходить в цикле.


не ругайте громко,пожалуйста( строки в С++ это для меня больная тема...



вот код:
Код:

#include <iostream>

#include <string>

 using namespace std;

int main()

{

string str,s1,s2,s;  // str- ishodnaya srtoka

string razdel=",.;:!-? ";

string::size_type k=0, pos=0,k2=0;

 cout<<"vvedite srtoku:";

 getline(cin,str);

k=str.find_first_of(razdel,pos);

k2=str.find_first_of(razdel,k+1);

 

 while (k!=string::npos)

{

s1=str.substr(pos,k-pos);

s2=str.substr(k+1,k2-(k+1));

s.append(s2);

s.append(s1);

str.erase(k2-pos,pos);

if (ispunct(str[k]))         

 pos=k+2;                    

 else pos=k+1;  

 s1.erase(k,pos);

 s2.erase(k2,pos);  

k=str.find_first_of(razdel,pos);

k2=str.find_first_of(razdel,k+1);

 

}

cout<<s<<"\t";

      

     cin.get();

     cin.get();

     return 0;}

Последний раз редактировалось Stilet; 28.05.2012 в 18:07.
killeraleksana вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение кол-ва слов в строке и сопоставление аналогичной строке. kish_mish Общие вопросы C/C++ 0 12.03.2012 20:58
Паскаль. Строки.Перестановка слов. Анастасия*** Помощь студентам 0 09.01.2012 01:40
перестановка слов в предложении luybeznov Помощь студентам 1 13.12.2011 09:59
Перестановка букв в строке на си Brabus Помощь студентам 7 08.11.2010 22:58
перестановка букв в строке Андрей.12 Помощь студентам 0 15.12.2009 15:52