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

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

Восстановить пароль Регистрация
 
skanku
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 56
07.12.2011, 20:22     Не работает программа(рекурсия)(код в нутри) #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
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 минут
не ужели так сложно помочь?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DWand
 Аватар для 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 строк, теоретически, идти не должна. Поэтому может не работать.
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
07.12.2011, 20:40     Не работает программа(рекурсия)(код в нутри) #3
И вообще программа какая-то странная, вот ответьте, например, откуда взялась переменная
C++
1
int i;
Она у вас просто так объявляется, а вы дальше непонятно тогда зачем делаете
C++
1
if(i==....
skanku
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 56
07.12.2011, 20:44  [ТС]     Не работает программа(рекурсия)(код в нутри) #4
помог бы лучше...
не как не могу в рекурсии разобратся
DWand
 Аватар для 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");
}
skanku
0 / 0 / 0
Регистрация: 20.11.2011
Сообщений: 56
07.12.2011, 21:59  [ТС]     Не работает программа(рекурсия)(код в нутри) #6
огромное тебе спасибо... ты меня спас)
Yandex
Объявления
07.12.2011, 21:59     Не работает программа(рекурсия)(код в нутри)
Ответ Создать тему
Опции темы

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