Форум программистов, компьютерный форум CyberForum.ru

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

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

Рекурсия.С++.Текст в обратном порядке - C++

10.05.2014, 18:22. Просмотров 549. Ответов 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 "stdafx.h"
#include <string.h> 
#include <stdio.h>
#include <iostream>
void Iteration_Reverse(const char*);
void Recursive_Reverse(const char*);
int main()
{
   const char* string = "Hello world.";
   Iteration_Reverse(string);
   Recursive_Reverse(string);
   return 0;
}
 
void Iteration_Reverse(const char *str)
{
   for(int i = strlen(str); i >= 0; --i)   
 putchar(*(str + i));
}
void Recursive_Reverse(const char *str)
{
   if (*str != '\0' ) 
{
        Recursive_Reverse(str + 1);
        putchar(*str);
}
system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2014, 18:22     Рекурсия.С++.Текст в обратном порядке
Посмотрите здесь:

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

Рекурсия (напечатать в обратном порядке заданный текст) - C++
помогите с задачей пожалуйста! нужно напечатать в обратном порядке заданный текст (за текстом следует точка). используя механизм...

Рекурсия. Символы строки в обратном порядке - C++
Помогите пожалуйста решить задачу: дана символьная строка. Не используя циклы, реализовать рекурсивную функцию, печатающую символы строки в...

Вывести числа в обратном порядке(рекурсия) - C++
Здравствуйте, есть задача в которой нужно вывести числа в обратном порядке. Сначала вводится количество элементов , а затем сами...

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

Рекурсия: получить число, цифры в котором будут расположены в обратном порядке - C++
Нужно получить с помощью рекурсивной функции число, символы в котором будут расположены в обратном порядке. Например 123 получим 321. Вот...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
10.05.2014, 18:30     Рекурсия.С++.Текст в обратном порядке #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
 
std::string reverse_recurs(std::string src)
{
  static int n = src.size() - 1;
  static std::string res;
  if(n >= 0)
  {
    res.push_back(src[n--]);
    reverse_recurs(src);
  }
  return res;
}
 
int main()
{
  std::cout << reverse_recurs(std::string("qwerty"));
  return 0;
}
uhx
57 / 57 / 6
Регистрация: 11.07.2013
Сообщений: 303
10.05.2014, 19:02     Рекурсия.С++.Текст в обратном порядке #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
using namespace std;
 
void rec(char *str){
    if(!*str) return;
    rec(str + 1);
    cout<<*str;
}
 
int main(){
    char str[50] = "This is a sample text";
    cout<<"Source: "<<str<<endl<<"Recurs: ";
    rec(str);
    system("pause > nul");
}
Добавлено через 10 минут
В Вашем коде есть рекурсия, в чем проблема?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2014, 19:27     Рекурсия.С++.Текст в обратном порядке
Еще ссылки по теме:

Рекурсия (вычисление суммы, вывод элементов одномерного массива в обратном порядке) - C++
Я хочу реализовать рекурсивные функции:1)вычисления суммы k первых членов арифметической прогрессии. 2)вывода в консоль элементов...

Напечатать в обратном порядке заданный текст - C++
помогите сделать нужно напечатать в обратном порядке заданный текст используя механизм рекурсии и через цикл

Напечатать в обратном порядке заданный текст используя рекурсию - C++
Напечатать в обратном порядке заданный текст, используя рекурсию.

Рекурсия: вывести все цифры заданного натурального числа в обратном порядке - C++
дано натуральное число N. выведите все цифры по одной, в обратном порядке, разделяя их пробелами или новыми строками. При решении этой...

Считать текст из файла и вывести все его предложения в обратном порядке - C++
с++(желательно в коде cout) 1) надо решить с помощью двумерного массива: дана прямоугольная целочисленная матрица. Определить: а)...

Считать текст из файла и вывести на экран его предложения в обратном порядке - C++
Не могу найти ошибку, помогите пожалуйста! #include &quot;stdafx.h&quot; #include &quot;iostream&quot;; #include &quot;conio.h&quot;; #include &quot;stdio.h&quot;; ...


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

Или воспользуйтесь поиском по форуму:
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6444 / 3083 / 306
Регистрация: 04.12.2011
Сообщений: 8,488
Записей в блоге: 4
10.05.2014, 19:27     Рекурсия.С++.Текст в обратном порядке #4
Wunschpunsch, про точку ничего не понял. Строка же она или есть или её нет... Ну то есть, если она есть, то всегда заканчивается и без точки. А если ещё и точка, то про её отношения со строкой лучше бы подробнее.
От себя добавлю:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
void reverse_print( char *str,  int i , char delim){
int len_to_delim =strrchr(str, delim) - str ;
if( len_to_delim - i == 0 ) return ;
cout << str [ len_to_delim - ++ i ];
reverse_print( str, i, delim );
}
 
int main()
{
char * str = "qwerty.nenado" ;
char delim = '.';
reverse_print( str,  0, delim ) ;//ytrewq
cout << endl ;
system("pause") ;
return 0;
}
Yandex
Объявления
10.05.2014, 19:27     Рекурсия.С++.Текст в обратном порядке
Ответ Создать тему
Опции темы

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