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

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

Войти
Регистрация
Восстановить пароль
 
gamer0n
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 47
#1

Слова в противоположном порядке - C++

17.06.2013, 19:25. Просмотров 392. Ответов 8
Метки нет (Все метки)

Пользователь вводит строку из слов. Вывести слова в противоположном порядке.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2013, 19:25     Слова в противоположном порядке
Посмотрите здесь:

Получите число, записанное теми же цифрами, но в противоположном порядке - C++
Дано число n, десятичная запись которого не содержит нулей. Получите число, записанное теми же цифрами, но в противоположном порядке. ...

Рекурсия. Получите число, записанное теми же цифрами, но в противоположном порядке - C++
Дано число n, десятичная запись которого не содержит нулей. Получите число, записанное теми же цифрами, но в противоположном порядке. При...

Вывести слова в таком порядке, чтобы последняя буква каждого слова совпадала с первой буквой следующего - C++
выводит (если можно) слова предложения в таком порядке, чтобы последняя буква каждого слова совпадала с первой буквой следующего слова (в...

Напечатать слова предложения в таком порядке, чтобы последняя буква каждого словасовпадала с первой буквой следующего слова - C++
Полное задание : В предложении все слова начинаются с разных букв. Напечатать ( если можно ) слова предложения в таком порядке, чтобы ...

Даны два слова, в каждом из которых от 1 до 8 строчных латинских букв и за каждым из которых - пробел. Напечатать слова в алфавитном порядке - C++
Даны два различных слова, в каждом из которых от 1 до 8 строчных латинских букв и за каждым из которых - пробел. Напечатать эти слова в...

Вывести слова в обратном порядке - C++
Привет всем. Я студент, помогите пожалуйста написать программу: дана строка состоящая из 30 слов между словами пробел и запятая вывести на...

Упорядочить слова в алфавитном порядке на С - C++
ребят помогите с задачкой, а то препод озадачил. самому не получается сделать. требуется отсортировать слова в строке в алфавитном...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
2e1773ce
6 / 6 / 0
Регистрация: 10.03.2013
Сообщений: 96
17.06.2013, 19:51     Слова в противоположном порядке #2
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <algorithm>
int main()
{
    char mas[]="hello world";
    std::reverse(mas , mas+ strlen(mas));// << std::endl;
    std::cout << mas;
    system("pause");
    return 0;
}
Добавлено через 10 минут
Цитата Сообщение от gamer0n Посмотреть сообщение
Пользователь вводит строку из слов.
C++
1
2
3
4
5
6
7
8
9
10
int main()
{
    char mas[100];
    std::cout << "Enter string" << std::endl;
    std::cin.getline(mas, strlen(mas));
    std::reverse(mas , mas + strlen(mas));
    std::cout << mas;
    system("pause");
    return 0;
}
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
17.06.2013, 20:38     Слова в противоположном порядке #3
Цитата Сообщение от gamer0n Посмотреть сообщение
Пользователь вводит строку из слов. Вывести слова в противоположном порядке.
можно использовать хвостовую рекурсию
rangerx
17.06.2013, 21:13
  #4

Не по теме:

Цитата Сообщение от 2e1773ce Посмотреть сообщение
char mas[100];
std::cin.getline(mas, strlen(mas));
Для того чтобы посчитать количество символов в строке strlen нужна строка заканчивающаяся символом '\0', у вас же массив не инициализирован вообще. В данном случае следует использовать sizeof, а не strlen.
C++
1
std::cin.getline(mas, sizeof(mas));

gamer0n
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 47
18.06.2013, 09:58  [ТС]     Слова в противоположном порядке #5
int main()
{
char mas[100];
std::cout << "Enter string" << std::endl;
std::cin.getline(mas, strlen(mas));
std::reverse(mas , mas + strlen(mas));
std::cout << mas;
system("pause");
return 0;
}
Не работает, выводит ентр стринг и после ввода закрывается
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,911
18.06.2013, 19:47     Слова в противоположном порядке #6
gamer0n, вы за ответами в теме следите? В приведённом коде допущена ошибка, см. мой предыдущий пост.

Добавлено через 2 минуты
Хотя, вам всё равно это решение не подойдёт, в задании требуется вывести в обратном порядке слова, а не переворачивать строку.
MrGluck
Модератор
Эксперт CЭксперт С++
7178 / 4344 / 634
Регистрация: 29.11.2010
Сообщений: 11,820
18.06.2013, 19:52     Слова в противоположном порядке #7
2e1773ce, насколько я понял, требуются вывести слова в противоположном порядке, а не буквы

Добавлено через 4 минуты
Одно из множеств решений:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <sstream>
#include <algorithm>
#include <iterator>
#include <string>
#include <list>
 
typedef std::istream_iterator<std::string> input_str;
typedef std::ostream_iterator<std::string> output_str;
typedef std::list<std::string> l_str;
 
int main()
{
    std::string str;
    std::getline(std::cin, str);
    std::istringstream ist(str);
    l_str l;
    std::copy(input_str(ist), input_str(), std::inserter(l, l.begin()));
    std::reverse_copy(l.begin(), l.end(), output_str(std::cout, " "));
}
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.06.2013, 20:39     Слова в противоположном порядке #8
ну и в добавок рекурсия (с хвОстОм____)
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
#include<string.h>
void Print(char *s)
{
    char *word;
    if (word = strtok(NULL, " .,;:\t\n"))
    {
         Print(s);
         puts(word);
    }
}
int main()
{
    char s[1024], *word;
    fgets(s, 1024, stdin);
    if (word = strtok(s, " .,;:\t\n"))
    {
        Print(s);
        puts(word);
    }
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2013, 00:49     Слова в противоположном порядке
Еще ссылки по теме:

Слова в обратном порядке (!не палиндром!) - C++
Задача состоит в следующем: определить символьный массив и ввести его с клавиатуры, затем подсчитать колличество символов 'e' (с этим...

Вывести слова в обратном порядке - C++
Всем известно, что у каждого важного общественного деятеля есть собственный спичрайтер – существо, помогающее подготовить публичную речь,...

Напечатать слова в алфавитном порядке - C++
Подскажите где ошибка. Программа запускается но аварийно завершается. Дано несколько слов, в каждом из которых от одной до семи ...

Расположить слова в алфавитном порядке - C++
Доброго времени суток Вводим строку со словами, необходимо расположить эти слова в алфавитном порядке. Мои наработки /*Расположить...

Отсортировать слова в обратном порядке - C++
Пользователь ряд слов,программа выводит их, отсортировав в обратном порядке. Как сделать такое?


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

Или воспользуйтесь поиском по форуму:
gamer0n
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 47
19.06.2013, 00:49  [ТС]     Слова в противоположном порядке #9
Спасибо парни)
Yandex
Объявления
19.06.2013, 00:49     Слова в противоположном порядке
Ответ Создать тему
Опции темы

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