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

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

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

Не работает программа(рекурсия)(код в нутри) - C++

07.12.2011, 20:22. Просмотров 356. Ответов 5
Метки нет (Все метки)

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include "stdafx.h"
#include <iostream>
 
using namespace std;
char shest[100];
 
int i;
 
void vvod()
{
    cout<<"vvedite chislo v 16-oy sisteme schislenia ";
    cin.getline(shest,100);
    cout<<"v dvoichnji sisteme dannoe chislo ravno: ";
}
 
int preobr(int i)
{
    if (i==strlen(shest))
        return strlen(shest);
        return preobr(i+1);
        switch(shest[i])
    {
        case '0':
            cout<<0;
            break;
        case '1':
            cout<<1;
            break;
        case '2':
            cout<<10;
            break;
        case '3':
            cout<<11;
            break;
        case '4':
            cout<<100;
            break;
        case '5':
            cout<<101;  
            break;
        case '6':
            cout<<110;
            break;
        case '7':
            cout<<111;
            break;
        case '8':
            cout<<1000;
            break;
        case '9':
            cout<<1001; 
            break;
        case 'A':
            cout<<1010;
            break;
        case 'B':
            cout<<1011;
            break;
        case 'C':
            cout<<1100;
            break;
        case 'D':
            cout<<1101;
            break;
        case 'E':
            cout<<1110;
            break;
        case 'F':
            cout<<1111;
            break;
    }
        
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    vvod();     
    preobr(i);
    cout<<endl;
    system ("pause");
    return 0;
}
Добавлено через 7 минут
не ужели так сложно помочь?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2011, 20:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не работает программа(рекурсия)(код в нутри) (C++):

Подсчет факториала рекурсией(код в нутри). - C++
надо подсчитать факториал рекусией, но так как в программе(что бы переменную nможно было использовать не только в рекурсии) #include...

Не получается правилный вывод на экран.(код в нутри) - C++
если я ввожу больше 1 то на экране отображается не то что я прошу вывести а просто набо цифр(ну или не просто набор цифр) &quot;2&quot; это например...

Программа не работает посмотрите код - C++
Помогите пожалуйста с кодом программы Вычислить сумму 1-1\2+1\3-…+(-1)sqr(n+1)*(1\n) //#include &lt;stdafx.h&gt; #include...

Как записать правильно? Программа работает но код наверно не верен. - C++
#include &lt;iostream&gt; using namespace std; int main() { long sek; cout &lt;&lt; &quot;Enter the number of senonds: &quot;; ...

Почему программа выдает ошибку при первом запуске, а дальше работает нормально? Код C - C++
Подскажите почему программа выдает ошибку при первом запуске, а дальше работает нормально? #include &lt;iostream&gt; #include &lt;cstdlib&gt; ...

Не работает код (программа считывает из файла строку, убирает лишние пробелы и записывает в другой файл строку, словами наоборот) - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;algorithm&gt; using namespace std; string...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DWand
13 / 13 / 1
Регистрация: 23.04.2011
Сообщений: 99
07.12.2011, 20:35 #2
C++
1
2
3
4
5
int preobr(int i)
{
        if (i==strlen(shest))
                return strlen(shest);
                return preobr(i+1);
функция возвращает значение в любом случае и дальше этих 3 строк, теоретически, идти не должна. Поэтому может не работать.
1
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
07.12.2011, 20:40 #3
И вообще программа какая-то странная, вот ответьте, например, откуда взялась переменная
C++
1
int i;
Она у вас просто так объявляется, а вы дальше непонятно тогда зачем делаете
C++
1
if(i==....
0
skanku
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 56
07.12.2011, 20:44  [ТС] #4
помог бы лучше...
не как не могу в рекурсии разобратся
0
DWand
13 / 13 / 1
Регистрация: 23.04.2011
Сообщений: 99
07.12.2011, 21:04 #5
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include <iostream>
 
using namespace std;
char shest[100];
 
void vvod() 
{
        cout<<"vvedite chislo v 16-oy sisteme schislenia ";
        cin.getline(shest,100);
        cout<<"v dvoichnji sisteme dannoe chislo ravno: ";
}
 
void preobr(int i) 
{
        switch(shest[i - 1])
        {
                case '0':
                        cout<<"0000 ";
                        break;
                case '1':
                        cout<<"0001 ";
                        break;
                case '2':
                        cout<<"0010 ";
                        break;
                case '3':
                        cout<<"0011 ";
                        break;
                case '4':
                        cout<<"0100 ";
                        break;
                case '5':
                        cout<<"0101 ";      
                        break;
                case '6':
                        cout<<"0110 ";
                        break;
                case '7':
                        cout<<"0111 ";
                        break;
                case '8':
                        cout<<"1000 ";
                        break;
                case '9':
                        cout<<"1001 ";     
                        break;
                case 'A':
                        cout<<"1010 ";
                        break;
                case 'B':
                        cout<<"1011 ";
                        break;
                case 'C':
                        cout<<"1100 ";
                        break;
                case 'D':
                        cout<<"1101 ";
                        break;
                case 'E':
                        cout<<"1110 ";
                        break;
                case 'F':
                        cout<<"1111 ";
                        break;
        }
        if (i!=strlen(shest)) 
        {
                preobr(i+1);
        } 
}
 
void main() {
    vvod();         
    preobr(1);
    cout<<endl;
    system ("pause");
}
1
skanku
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 56
07.12.2011, 21:59  [ТС] #6
огромное тебе спасибо... ты меня спас)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2011, 21:59
Привет! Вот еще темы с ответами:

C++. Рекурсия не работает - C++
Есть функция #include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;iomanip&gt; using namespace std; double y(int); int main () { ...

Не работает рекурсия - C++
Помогите пожалуйста, не считает рекурсией формулу: x-x^2/2+x^3/3-...-&gt;ln(1+x) Сумму ряда я решил, а рекурсию не считает(( double...

Рекурсия, нужно отладить код - C++
Всем привет! Помогите, написал рекурсию, код впринципе рабочий, вот только мне не нравится как он работает. Может кто знает как сделать...

Код не работает,говорит,что не знает,что такое delay(100).в чём проблема?как сделать,чтоб программа заработала? - C++
#include &lt;graphics.h&gt; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;dos.h&gt; int main() { int...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.12.2011, 21:59
Ответ Создать тему
Опции темы

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