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

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

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

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

10.05.2014, 18:22. Просмотров 490. Ответов 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++
Рекурсия. Напечатать в обратном порядке заданный текст C++
Рекурсия (напечатать в обратном порядке заданный текст) C++
Напечатать в обратном порядке заданный текст C++
РЕКУРСИЯ-----дано натуральное число N. выведите все цифры по одной, в обратном порядке, разделяя их пробелами или новыми строками. При решении этой за C++
C++ Рекурсия. Символы строки в обратном порядке
C++ Стек. Выведите все вхождения символов указанного набора в текст в обратном порядке
C++ Напечатать в обратном порядке заданный текст используя рекурсию

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2842 / 1779 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
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
 Аватар для uhx
56 / 56 / 6
Регистрация: 11.07.2013
Сообщений: 302
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 минут
В Вашем коде есть рекурсия, в чем проблема?
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6345 / 2992 / 294
Регистрация: 04.12.2011
Сообщений: 8,025
Записей в блоге: 3
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     Рекурсия.С++.Текст в обратном порядке
Ответ Создать тему
Опции темы

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