Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

Пользователь вводит строку из слов. Вывести слова в противоположном порядке.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2013, 19:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Слова в противоположном порядке (C++):

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

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

Расположить слова в массиве символов в алфавитном порядке по первой букве слова - C++
Введите массив символов из 14 элементов. Расположить слова в алфавитном порядке по первой букве слова. Добавлено через 19 часов 40...

В тексте слова разделены запятыми,напечатать все слова в алфавитном порядке. - C++
Написал программу, она не запускаеться, я понимаю что чтото не так, но что незнаю. В чём я ошибся? Вот само задание: Дана строка ...

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

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

8
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;
}
1
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
17.06.2013, 20:38 #3
Цитата Сообщение от gamer0n Посмотреть сообщение
Пользователь вводит строку из слов. Вывести слова в противоположном порядке.
можно использовать хвостовую рекурсию
0
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));

1
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;
}
Не работает, выводит ентр стринг и после ввода закрывается
0
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
18.06.2013, 19:47 #6
gamer0n, вы за ответами в теме следите? В приведённом коде допущена ошибка, см. мой предыдущий пост.

Добавлено через 2 минуты
Хотя, вам всё равно это решение не подойдёт, в задании требуется вывести в обратном порядке слова, а не переворачивать строку.
0
MrGluck
Модератор
Эксперт CЭксперт С++
7492 / 4607 / 693
Регистрация: 29.11.2010
Сообщений: 12,601
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, " "));
}
2
Thinker
Эксперт С++
4228 / 2202 / 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;
}
2
gamer0n
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 47
19.06.2013, 00:49  [ТС] #9
Спасибо парни)
0
19.06.2013, 00:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2013, 00:49
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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