Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
w0rst1337
0 / 0 / 0
Регистрация: 17.05.2017
Сообщений: 9
#1

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

17.05.2017, 21:38. Просмотров 654. Ответов 12
Метки нет (Все метки)

Помогите доработать задачу, пожалуйста.
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
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string word = "Privet mirrr";
    string word1;
    string word2;
    int n, i, j;
    for (i = 0; i < word.size(); i++)
    {
        n = word.find(" ");
        word1 = word.substr(0, i);
    }
    for (j = word.size(); j < word1.size(); j--)
    {
        n=word.find(" ");
        word2 = word.substr(j, i);
    }
    cout << word2 << "  " << word1;
    system("pause");
    return 0;
}
Вот у меня вот так получилось, но компелятор ругается. Срочно, заранее спасибо
http://www.cyberforum.ru/cpp-beginners/thread871166.html

Добавлено через 36 секунд
Дана строка, состоящая из русских слов разделенных пробелами(одним или несколькими). Вывести строку, содержащую эти же слова, разделенные 1-им пробелом, в обратном порядке
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2017, 21:38
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вывести строку, содержащую слова исходной строки, но в обратном порядке (C++):

Вывести строку, содержащую эти же слова, разделенные одним пробелом и расположенные в обратном порядке
Здравствуйте. можете прокомментировать эту программу? #include &quot;stdafx.h&quot;...

Вывести строку, состоящую из подстрок исходной строки, представленных в обратном порядке и разделенных пробелами
Ввести строку символов, содержащую несколько подстрок, разделенных пробелами....

Сформировать новую строку, в которой слова исходной будут следовать в обратном порядке
Нужна срочно ваша помощь...Не могу написать код для следующей задачи: &quot;Задан...

Вывести строку, содержащую те же символы, но расположенные в обратном порядке.
Ввод и вывод строк осуществлять, используя функции gets и puts. При...

Вывести строку, содержащую слова, разделенные одним пробелом и расположенные в алфавитном порядке
Дана строка, состоящая из русских слов, набранных заглавными бук-вами и...

12
SaynorPRO
10 / 10 / 5
Регистрация: 05.10.2016
Сообщений: 119
17.05.2017, 21:43 #2
w0rst1337, нужно именно доработать? Ты либо идею свою объясняй, либо я просто своим способом её решу тебе.
1
повар1
161 / 139 / 131
Регистрация: 24.02.2017
Сообщений: 565
Завершенные тесты: 1
17.05.2017, 21:49 #3
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
#include <iostream.h>
#include <string>
 
int main()
{
string stroka="Privet    mirrr    inoi";
char *p,s[80];
 
strcpy(s,stroka.c_str());
stroka.clear();
strcpy(s,strrev(s));
p = strtok(s," ");
stroka+=strrev(p);
 
do{
    p = strtok('\0'," ");
    if(p)
     {
       stroka+=" ";
       stroka+=strrev(p);
      }
  
} while(p);
cout<<stroka;
 
system("pause>NUL");
    return 0;
}
0
w0rst1337
0 / 0 / 0
Регистрация: 17.05.2017
Сообщений: 9
17.05.2017, 22:10  [ТС] #4
Спасибо за помощь!!!!!!!!!!!!!!!!!!! <3

Добавлено через 4 минуты
Компелятор ошибку выдает Не мог бы своим решение скинуть?
0
w0rst1337
0 / 0 / 0
Регистрация: 17.05.2017
Сообщений: 9
17.05.2017, 22:22  [ТС] #5
Дана строка, состоящая из русских слов разделенных пробелами(одним или несколькими). Вывести строку, содержащую эти же слова, разделенные 1-им пробелом, в обратном порядке
Задача. Мне пытались помочь. Но задача не работает.

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
#include <iostream.h>
#include <string>
 
int main()
{
string stroka="Privet    mirrr    inoi";
char *p,s[80];
 
strcpy(s,stroka.c_str());
stroka.clear();
strcpy(s,strrev(s));
p = strtok(s," ");
stroka+=strrev(p);
 
do{
    p = strtok('\0'," ");
    if(p)
     {
       stroka+=" ";
       stroka+=strrev(p);
      }
  
} while(p);
cout<<stroka;
 
system("pause>NUL");
    return 0;
}
0
повар1
161 / 139 / 131
Регистрация: 24.02.2017
Сообщений: 565
Завершенные тесты: 1
17.05.2017, 22:48 #6
попробуй так:

C++
1
2
3
#include <iostream>
#include <string>
using namespace std;
1
w0rst1337
0 / 0 / 0
Регистрация: 17.05.2017
Сообщений: 9
17.05.2017, 22:49  [ТС] #7
Я так и изменил сразу. Ругается на strcpy(s,stroka.c_str());
0
повар1
161 / 139 / 131
Регистрация: 24.02.2017
Сообщений: 565
Завершенные тесты: 1
17.05.2017, 22:54 #8
попробуй набрать
C++
1
stroka.
и найти перевод стринг в чар
0
w0rst1337
0 / 0 / 0
Регистрация: 17.05.2017
Сообщений: 9
17.05.2017, 22:55  [ТС] #9
Извини, не совсем тебя понял, не мог бы уточнить, пожалуйста?
0
SaynorPRO
10 / 10 / 5
Регистрация: 05.10.2016
Сообщений: 119
17.05.2017, 22:58 #10
Лучший ответ Сообщение было отмечено w0rst1337 как решение

Решение

w0rst1337, вот полностью рабочая версия, если надо.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
#include <cstdlib>
 
using namespace std;
 
int main() {
  setlocale(LC_ALL,"ru-RU");
  string str, ans;
  getline(cin, str);
  str.insert(0, " ");
  int start = str.length() - 1;
  for (int i = str.length() - 1; i >= 0; i--) {
    if (str[i] == ' ') {
      ans += str.substr(i + 1, start - i) + ' ';
      start = i - 1;
    }
  }
  cout << ans << endl;
  system("pause");
  return 0;
}
1
повар1
161 / 139 / 131
Регистрация: 24.02.2017
Сообщений: 565
Завершенные тесты: 1
17.05.2017, 23:00 #11
набери
C++
1
strcpy(s,stroka.
и в выпавшем окошке найди что-то типа
C++
1
 c_str()
0
w0rst1337
0 / 0 / 0
Регистрация: 17.05.2017
Сообщений: 9
17.05.2017, 23:00  [ТС] #12
Спасибо
0
nmcf
6237 / 5549 / 2524
Регистрация: 14.04.2014
Сообщений: 23,331
17.05.2017, 23:15 #13
Замени.
C++
1
2
//strcpy(s,strrev(s));
strrev(s);
0
17.05.2017, 23:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2017, 23:15
Привет! Вот еще темы с решениями:

Вывести строку, содержащую слова, разделенные одним пробелом и расположенные в алфавитном порядке
Дана строка, состоящая из русских слов, набранных заглавными буквами и...

Вывести строку, содержащую слова, разделенные одним пробелом и расположенные в алфавитном порядке
Дана строка, набранная из слов, набранных заглавными буквами и разделенных...

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

Сформировать новую строку, содержащую те же символы, но расположенные в обратном порядке
Разработайте консольное приложение, которое, используя классstd :: stringвводит...


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

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

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