Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2019, 11:43   #1
Андрей Ш++
учу с++
Пользователь
 
Аватар для Андрей Ш++
 
Регистрация: 06.10.2017
Сообщений: 44
По умолчанию Перестановка слов в строке С++

Всем привет!
У меня есть задача, сделать перестановку слов в с++ тип:
input>> abc cde fgh igk
output>> cde abc igk fgh
Код:
#include <iostream>

using namespace std;

int main()
{
    int shotchic=0;
    int shotchic1=0;
    char stroka[100]={0};
    //cout<< stroka;
    cin.getline(stroka,100);
    //cout<<stroka;
    char slovo1[100]={0};
    char slovo2[100]={0};
    while (stroka[shotchic]!=0){
        while (stroka[shotchic]!=32){
                slovo1[shotchic1]=stroka[shotchic];
                shotchic++;
                shotchic1++;
        }
        shotchic1=0;
        shotchic++;
        while (stroka[shotchic]!=32||stroka[shotchic]!=0){
                slovo2[shotchic1]=stroka[shotchic];
                shotchic++;
                shotchic1++;
        }
        shotchic++;
        shotchic1=0;
        cout<<slovo2;
        cout <<slovo1;

    }

}
Но что-то пошло не так.
По мои подсчетам все должно работать.

План действий моего кода:
1.Ввести строку

2.Найти слово1 и слово2

3.Вывести слово2 и слово1

Но я не могу понять в чем ошибка. Помогите пожалуйста!
Андрей Ш++ вне форума Ответить с цитированием
Старый 10.07.2019, 11:51   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от Андрей Ш++ Посмотреть сообщение
while (stroka[shotchic]!=32){
нет проверки на 0

Цитата:
Сообщение от Андрей Ш++ Посмотреть сообщение
while (stroka[shotchic]!=32||stroka[shotchic]!=0){
Допустим stroka[shotchic] = 0. Что будет результатом уловия "0 != 32 || 0 != 0"? Т.е. "истина или ложь"?

Что мешало сделать, типа:
Код:
cin >> str1;
cin >> str2;
cout << str2;
cout << str1;
?
p51x вне форума Ответить с цитированием
Старый 10.07.2019, 11:53   #3
Андрей Ш++
учу с++
Пользователь
 
Аватар для Андрей Ш++
 
Регистрация: 06.10.2017
Сообщений: 44
По умолчанию

Сама задача, нужно вытянуть слова из строки
Андрей Ш++ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
c++ перестановка слов в строке killeraleksana Помощь студентам 0 28.05.2012 17:39
Паскаль. Строки.Перестановка слов. Анастасия*** Помощь студентам 0 09.01.2012 01:40
перестановка слов в предложении luybeznov Помощь студентам 1 13.12.2011 09:59
Перестановка букв в строке на си Brabus Помощь студентам 7 08.11.2010 22:58
перестановка букв в строке Андрей.12 Помощь студентам 0 15.12.2009 15:52