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

Последовательность слов в обратном порядке

21.11.2013, 23:06. Показов 1866. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Только начинаю разбираться с программированием и не всегда улавливаю как воплотить алгоритм в программе. Помогите сделать такую вот задачку: Дано предложение, представляющее собой последовательность слов, разделенных за-пятой. Напечатать эту последовательность слов в обратном порядке (напр., «hello, world» -> «world hello»).
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.11.2013, 23:06
Ответы с готовыми решениями:

Вывести последовательность слов в обратном порядке.
8.3.1. Помогите, пожалуйста, решить задачу в С++. Дана строка. Группы символов, разделённые пробелами (одним или несколькими) и...

Вывести последовательность слов в обратном порядке
Помогите строки С++ не могу понять как сделать ее , заранее спасибо . Дана последовательность, содержащая от 1 до 30 слов, в каждом...

Вывести последовательность слов в обратном порядке
Розробити алгоритм і програму для виводу на екран дисплея введеної послідовність слів в зворотному порядку. #include <iostream> ...

13
7 / 7 / 4
Регистрация: 06.11.2013
Сообщений: 50
21.11.2013, 23:07
Тебе объяснить как, или написать?
0
0 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 18
21.11.2013, 23:09  [ТС]
ABKA, лучше конечно написать, я вроде понимаю как решить, но вот реализовать не могу, мб из-за недостаточного знания языка..
0
7 / 7 / 4
Регистрация: 06.11.2013
Сообщений: 50
21.11.2013, 23:10
Минут через 10 напишу
0
0 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 18
21.11.2013, 23:41  [ТС]
ABKA, спасибо, я пока сам пытаюсь, мб чего додумаюсь)

Добавлено через 27 минут
ни у кого вариантов нету?
0
7 / 7 / 4
Регистрация: 06.11.2013
Сообщений: 50
22.11.2013, 00:16
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
28
29
30
31
32
33
#include <iostream>
#include <fstream>
#define MAX_WORDSN 100
using namespace std;
int main() 
{
    setlocale(LC_ALL, "Russian") ;
    string str, strlist[MAX_WORDSN];
    cout << "Ââåäèòå ñòðîêó (àíãëèéñêèìè áóêâàìè)";
    getline(cin, str) ; 
    int i=0;
    int lastpos;
    while(true)                         //áåñêîíå÷íûé öèêë
    {  
    size_t pos=str.find(' ') ;  //èùåì áëèæàéøèé ïðîáåë
    if(pos==std::string::npos)  break;  //ðàáîòàåì, ïîêà ïðîáåëîâ íå îñòàíåòñÿ   
    strlist[i] = str.substr(0, pos);    //êîïèðóåì âñå äî ïðîáåëà â ìàññèâ ñòðîê
    str.erase(0, pos+1);    
    pos = str.find(' ') ;               
    lastpos=i++;                                        
    }   
    lastpos++;
    strlist[lastpos] = str; //ïîñëå ïîñëåäíåãî ñëîâà íåò ïðîáåëà => 
                            //îíî åùå íå âêëþ÷åíî â ìàññèâ.     
                            
    for(int i=lastpos; i>=0; i--) {
        cout << i << " " << strlist[i] << endl; // Âûâîäèì ñ êîíöà.    â ñòîëáåö           
    }   
    for(int i=lastpos; i>=0; i--) {
        cout << strlist[i] << " "; // Âûâîäèì ñ êîíöà. êàê ñòðîêó         
    }   
    return 0;
}
Добавлено через 36 секунд
Лови. Если есть вопросы - пиши. Код корявый получился( Но работает)
0
0 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 18
22.11.2013, 00:18  [ТС]
ABKA, спасибо, но я из этого мало что проходил, много не понятного... а задание довольно таки рано..даже до функций
0
7 / 7 / 4
Регистрация: 06.11.2013
Сообщений: 50
22.11.2013, 00:20
Ну, я же не знаю, что ты проходил) задавай конкретные вопросы.
0
0 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 18
22.11.2013, 00:29  [ТС]
ABKA, прошел: массивы, динамическое выделение памяти, ну и конечно циклы там всякие..вот и все, используя это предлагается написать данную программу..
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
22.11.2013, 00:55
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
 
void print_reverse(const std::string& str)
{
    size_t pos = str.find(",");
    if (pos != std::string::npos)
        print_reverse(str.substr(pos+2, std::string::npos));
    std::cout << str.substr(0, pos) << ' ';
}
 
int main()
{
    print_reverse("eniki, beniki, eli, vareniki");
}
0
0 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 18
22.11.2013, 02:10  [ТС]
MrGluck, а без функций можно? я их ещё не изучал..(
0
19 / 19 / 3
Регистрация: 19.11.2013
Сообщений: 83
22.11.2013, 04:49
Я тоже новичок) держи, что получилось:
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
#include "stdafx.h"
#include "iostream"
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    char znak_pro[2]={' '};
    char str[50];
    cout<<"straight massive:";
    cin.getline(str,50);
     for(int i=0; i<=49; i++){
           if(str[i]==',')
               str[i]=znak_pro[0];
     }
     cout<<"Inverse massive:";
            for(int j=49; j>=0; j--){
                if(str[j]>=' ' && str[j]<='}') cout<<str[j]; //набор символов ASCII. Использую, чтобы не выходил мусор из пустых ячеек массива.
                else continue;
           }
            cout<<endl;
            
    system ("pause");
    return 0;
}
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
22.11.2013, 05:31
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cstdlib>
using namespace std;
 
int main()
{
    char* str = "aaa,bbbb,cccccc,ddddd"; // последовательность слов, разделённых запятыми(про пробелы в задании ничего не сказано)
    
    char* end = str + strlen(str) - 1; // указатель на последний символ
    while (end >= str)
    {
        if (*end != ',') cout << *end;
        else cout << ' ';
        --end;
    }
    cout << endl;
    
    system("pause");
    return 0;
}
0
19 / 19 / 3
Регистрация: 19.11.2013
Сообщений: 83
22.11.2013, 16:13
Вот код для примера Hello, world. И для подобных конструкций)
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
28
29
30
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int n;
    char znak_pro[2]={' '};
    char str[50];
    cout<<"straight massive:";
    cin.getline(str,50);
    cout<<"inverse massive:";
     for(int i=0; i<=49; i++){
           if(str[i]==','){
           for (n=i+1;n<=49; n++){
                if(str[n]>=' ' && str[n]<='}') cout<<str[n];
           }}}
     cout<<" ";
 
        for(int i=0; i<=49; i++){
           if(str[i]==',') {
               str[i]=znak_pro[0];
           for (n=0; n<=i; n++)
           cout<<str[n];   
           }}
    
            
    system ("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.11.2013, 16:13
Помогаю со студенческими работами здесь

Напечатать ту же последовательность слов, что и в исходном тексте, но в обратном порядке
Задан текст. Между словами - пробел, за последним символом - точка. Напечатать ту же последовательность слов, но в обратном порядке.

Введенное предложение обработать так, чтобы его последовательность слов напечатать в обратном порядке
Введенное предложение обработать так, чтобы его последовательность слов напечатать в обратном порядке.

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

Рекурсия: вывести данную последовательность в обратном порядке
Дано натуральное число N и последовательность N элементов. Вы должны вывести данную последовательность в обратном порядке. Ввод ...

Рекурсивная процедура: вывести введенную последовательность в обратном порядке
Написать рекурсивную процедуру для ввода с клавиатуры последовательно- сти чисел и вывода ее на экран в обратном порядке (окончание...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru