Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
 Аватар для Nigmatulin
0 / 0 / 0
Регистрация: 19.03.2016
Сообщений: 18

String. Расположение слов в обратном порядке

09.08.2016, 14:36. Показов 3997. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. У меня снова вопрос касательно строк.
Дана вот такая задача:

{deleted}
 Комментарий модератора 
П.5.18.Правил
Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.
П.5.19.Правил
Запрещено создавать темы в виде ссылок на задания или коды программ, расположенные на других сайтах.


Результат выполнения программы должен быть таким:
in: Пример входных данных в программу
out: программу в данных входных Пример

или же для решения этой задачи нужен такой цикл:
C++
1
2
3
4
for (int i(str.size()-1); i>=0; i--)
{
    cout<<str[i];
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.08.2016, 14:36
Ответы с готовыми решениями:

Ввести от 1 до 30 слов и сделать вывод этих слов в обратном порядке
Текст задания: Дана последовательность, содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 строчных латинских букв, между соседними...

Обеспечить ввод и вывод списка слов в прямом и обратном порядке, и вычисление числа слов в этом списке
Изменить программу так, чтобы она обеспечивала ввод и вывод списка символов в прямом и обратном порядке. Чтение символа с клавиатуры до...

Вывод слов в обратном порядке
Всем привет. Мне нужно вывести слова в обратном порядке. У меня есть строка &quot;cannot load data&quot;. нужно сделать так, что бы выводило...

10
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
09.08.2016, 14:44
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <string>
#include <iostream>
using namespace std;
 
int main()
{
    const std::string str = "Privet kak dela";
 
    std::string revert = str;
    std::reverse( std::begin( revert ), std::end( revert ) );
 
    cout << str << endl;
    cout << revert << endl;
}
1
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
09.08.2016, 14:58
Лучший ответ Сообщение было отмечено Nigmatulin как решение

Решение

rikimaru2013, это будет просто вывод букв в обратном порядки, а не последовательности слов

Добавлено через 5 минут
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 <vector>
#include <algorithm>
#include <string>
#include <fstream>
using namespace std;
int main() {
    string s;
    vector<string>val;
    getline(cin,s);
    ofstream ff;
    ff.open("df.txt");   // велосипед 
    ff<<s;
    ff.close();
    ifstream fd;
    fd.open("df.txt"); 
    while(!fd.eof()) {
        getline(fd,s,' ');
        val.push_back(s);
    }
    fd.close();
    reverse(val.begin(),val.end());
    for(vector<string>::iterator iter=val.begin(); iter!=val.end(); iter++) {
        cout<<*iter<<" ";
    }
    return 0;
}
1
 Аватар для Nigmatulin
0 / 0 / 0
Регистрация: 19.03.2016
Сообщений: 18
09.08.2016, 15:07  [ТС]
Peoples, спасибо вам за помощь) А есть ли более простой вариант алгоритма ? А то такой пока для меня слишком уж сложный ))
rikimaru2013, мой цикл тоже работает по такому же принципу, тоже просто выводит буквы в обратном порядке )
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
09.08.2016, 15:07
Peoples, где слова последовательность и слово у ТСа то?
0
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
09.08.2016, 15:08
Цитата Сообщение от Nigmatulin Посмотреть сообщение
n: Пример входных данных в программу
out: программу в данных входных Пример
Пример есть
0
 Аватар для Nigmatulin
0 / 0 / 0
Регистрация: 19.03.2016
Сообщений: 18
09.08.2016, 15:14  [ТС]
Peoples, сама задача звучит так: Дана строка, состоящая из русских слов, разделенных пробелами. Вывести строку, содержащую эти же слова, , но расположенные в обратном порядке.
Я думаю, ваше решение верное, но слишком сложное пока для меня )
0
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
09.08.2016, 15:14
Лучший ответ Сообщение было отмечено Новичок как решение

Решение

А нашёл

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 <string>
#include <sstream>
#include <iostream>
#include <vector>
using namespace std;
 
vector<string> split( const string &s, char delim)
{
    vector<string> result;
    stringstream ss( s );
    string item;
    while( getline( ss, item, delim ) )
        result.push_back( item );
    return result;
}
 
int main()
{
    const char delim = ' ';
    const std::string str = "Privet kak dela";
    auto words = split( str, delim );
 
    std::reverse( std::begin( words ), std::end( words ) );
 
    for( auto& word : words )
        cout << word << delim;
}
2
 Аватар для Nigmatulin
0 / 0 / 0
Регистрация: 19.03.2016
Сообщений: 18
09.08.2016, 16:16  [ТС]
Можно ли получить такой же результат, но без векторов ?

Добавлено через 55 минут
Вопрос, могу ли я строку выводить частями. Например дана строка из 20 элементов.

Добавлено через 23 секунды
Вопрос, могу ли я строку выводить частями. Например дана строка из 20 элементов.
сначала, например, вывести с 15 по 20 элемент, потом с 5 по 10 и тд ?
0
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
09.08.2016, 16:25
Nigmatulin,
C++
1
2
3
4
5
6
7
8
using namespace std;
int main(){
string s;
getline(cin,s); // Да, такое вполне возможно!
string s1=s.substr(4,12);
cout<<s1; // такое вполне
    return 0;
}
1
 Аватар для Nigmatulin
0 / 0 / 0
Регистрация: 19.03.2016
Сообщений: 18
09.08.2016, 16:27  [ТС]
Peoples, спасибо огромное. Очень помогли )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.08.2016, 16:27
Помогаю со студенческими работами здесь

Вывод слов в обратном порядке
Помогите. Задача лёгкая, но я ни как не могу вникнуть в эти строки. Дана строка. Напечатать слова в нее входящие, но в обратном...

Последовательность слов в обратном порядке
Только начинаю разбираться с программированием и не всегда улавливаю как воплотить алгоритм в программе. Помогите сделать такую вот...

Вывод слов в обратном порядке
Доброго времени суток, такая задача : пришел мне в голову такой вариант : пройтись циклом начиная с конца (string.Lenght) до начала...

Напечатать последовательность слов в обратном порядке
Дана последовательность, содержащая от двух до десяти слов, в каждом из которых от одной до пяти строчных букв; между соседними словами –...

Напечатать последовательность слов в обратном порядке
Дана последовательность, содержащая от 1 до 30 слов, в каждом из которых от 1 до 5 строчных латинских букв, между соседними словами -...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru