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

Аналог рекурсивной функции, отображающей строку в обратном порядке, выводит "мусор" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ выдает неправильный ответ http://www.cyberforum.ru/cpp-beginners/thread685230.html
задание такое:Определить ближайшее НЕЧЕТНОЕ ЧИСЛО меньше заданного числа N, которое делится на 15 с остатком 6. Ввожу число 40 а выдает 36. #include <stdio.h> #include <conio.h> #include...
C++ Выполнение кода не доходит до определенной строки Где здесь ошибка: #include <iostream.h> #include <math.h> #include <conio.h> int main(void) { double x; std::cin>>x; std::cout<<(x<0 ? 3.2*pow(x,2):(x>=0 && x<=1 ?... http://www.cyberforum.ru/cpp-beginners/thread685204.html
Реализовать сортировку комплексных чисел по модулю и поиск по квадранту C++
Задано множество комплексных чисел в алгебраической форме.Реализовать их сортировку по модулю и поиск по квадранту, а также вычисление произведения всех чисел. пока только описал ввод и вывод...
C++ Генерация массива
Что то не создает массив. // lab1.cpp: определяет точку входа для консольного приложения.и еще вопрос правильно ли я прописал чтобы рандомно создавались только 5тизначные числы // #include...
C++ Перевести код из Qbasic в С++ http://www.cyberforum.ru/cpp-beginners/thread685194.html
Здравствуйте! Помогите, пожалуйста, перевести программу на бейсике в С++ CLS DEFINT I-J,N N=21 'ЧИСЛО ТОЧЕК 'ОКТЯБРЬ 1 СЛОЙ PRINT "OCT 1 SLOI" DIM T(N), SI(N), P(N), B(N), M(N,N) AS SINGLE...
C++ Ошибки Cannot convert и Statement missing. Как исправить? Друзья, помогите, пожалуйста! Очень срочно нужно. В C++ очень недавно, поэтому ошибки могут быть элементарными, но как с ними справиться, я не знаю. вот программа 1 ... подробнее

Показать сообщение отдельно
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056

Аналог рекурсивной функции, отображающей строку в обратном порядке, выводит "мусор" - C++

31.10.2012, 15:31. Просмотров 372. Ответов 4
Метки (Все метки)

Добрый день, при попытке написать аналог рекурсивной функции отображающей строку в обратном порядке напоролся на грабли:
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
34
35
36
37
38
39
40
41
#include <iostream>
#include <cstdio>
using namespace std;
 
void reverse_r(char* ch);
void reverse_i(char* ch);
// int factorial (int i);
// int max_value (int a, int b);
 
int main()
{
 
    cout << "Enter some string: ";
    char arr_c[80];
    gets(arr_c);
 
    reverse_r(arr_c);
    cout << '\n';
    reverse_i(arr_c);
    cout << '\n';
 
    return 0;
}
 
void reverse_r (char *ch)
{
    if (*ch)
    reverse_r(ch + 1);
    else return;
    cout << *ch;
}
 
void reverse_i (char* ch)
{
    while (*++ch); // установим указатель в конец массива
    --ch; // перейдём с символа завершающего строку
    while (*ch) {
    cout << *ch--;
    }
    return;
}
Bash
1
2
3
4
5
6
7
(gdb) run                                                                                                                              
Starting program: /media/win_d/Helloworld/currents/test-cpp                                                                            
Enter some string: Hello world!                                                                                                        
!dlrow olleH                                                                                                                           
!dlrow olle^D\240^D\240^D\205^D\207^D\237\364                                                                                          
[Inferior 1 (process 3872) exited normally]                                                                                            
(gdb)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru