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

Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот - C++

Восстановить пароль Регистрация
 
маня
1 / 1 / 0
Регистрация: 28.04.2012
Сообщений: 114
10.06.2013, 11:25     Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот #1
Помогите пожалуйста исправить программу
Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот.
Переворачивает всю строку, а нужно каждое слово в строке


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <string.h> 
#include <stdlib.h>    
#include <iomanip>   
#include <iostream>
#include <conio.h>  
using namespace std;
void reverse(); 
int main() 
{
   cout << " Vvedite stroku:" << endl;
    reverse();
 _getch();   
return 0; 
} 
void reverse() 
  {
      char c= _getche(); 
if (c != 13) reverse();   
cout << c;  
return; 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2013, 11:25     Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот
Посмотрите здесь:

Преобразовать строку таким образом, чтобы цифры каждого слова были перенесены в начало слова без изменения порядка следования их в слове C++
C++ Преобразовать строку так, чтобы все буквы в ней были отсортированы по возрастанию
Преобразовать строку так, чтобы все буквы в ней были отсортированы по возрастанию (работайте с английским алфавитом). C++
Сделать так что б в строке все слова были напечатаны наоборот C++
C++ Преобразовать матрицу А(mxn) таким образом чтобы строки с нечетным индексом были упорядочены по убыванию, а четные по возрастанию.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
10.06.2013, 11:31     Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот #2
маня, нужно строку разбить на слова сначала. А затем уже их переворачивать, т.е. ваша программа не определит где слово, а где другое слово.
маня
1 / 1 / 0
Регистрация: 28.04.2012
Сообщений: 114
10.06.2013, 11:40  [ТС]     Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот #3
А можете написать исправленную программу
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,163
Завершенные тесты: 2
10.06.2013, 12:17     Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот #4
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
25
26
27
#include <iostream>
#include <list>
#include <algorithm>
#include <iterator>
#include <string>
#include <sstream>
 
int main(){
    std::string buf("raz dva tri");
    std::list<std::string> words;
    std::stringstream ist(buf);
    std::string tmp;
    while ( ist >> tmp )
        words.push_back(tmp);
 
    std::cout << "Original string: "<< buf;
 
    std::list<std::string>::iterator it = words.begin();
    for(; it != words.end(); ++it)
        std::reverse((*it).begin(), (*it).end());
 
    std::cout << "\nModify string: ";
    std::copy(words.begin(), words.end(), std::ostream_iterator<std::string, char>(std::cout, " "));
 
 
    return 0;
}
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
10.06.2013, 12:40     Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот #5
Можно попроще:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <algorithm>
#include <sstream>
#include <iterator>
 
using namespace std;
 
int main()
{
    string in_text, out_text, word;
    getline(cin, in_text);
    istringstream iss(in_text);
    while (iss >> word) {
        copy( word.rbegin(), word.rend(), back_inserter<string>(out_text) );
        out_text.push_back(' ');
    }
    cout << out_text;
    return 0;
}
маня
1 / 1 / 0
Регистрация: 28.04.2012
Сообщений: 114
10.06.2013, 13:09  [ТС]     Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот #6
она у меня не запускается
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
10.06.2013, 13:09     Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот #7
Компилятор какой?
маня
1 / 1 / 0
Регистрация: 28.04.2012
Сообщений: 114
10.06.2013, 21:23  [ТС]     Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот #8
visual C++ 6.0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2013, 21:54     Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот
Еще ссылки по теме:

Преобразовать строку таким образом, чтобы буквы каждого слова в ней были отсортированы по возрастанию C++
Преобразовать строку таким образом, чтобы все символы в ней были напечатаны наоборот C++
C++ Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот

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

Или воспользуйтесь поиском по форуму:
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
10.06.2013, 21:54     Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот #9
Цитата Сообщение от маня Посмотреть сообщение
visual C++ 6.0
огого. В таком не заработает. Для учебы скачайте какую нибудь простую IDE типа Code::Blocks, DevC++, Eclipse
Yandex
Объявления
10.06.2013, 21:54     Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот
Ответ Создать тему
Опции темы

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