0 / 0 / 0
Регистрация: 12.01.2013
Сообщений: 9
1

Есть код на C и нужно его перевести на C++

16.06.2014, 19:56. Показов 1222. Ответов 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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#include <stdio.h>
#include <stdlib.h>
 
typedef struct node_t
{
int value;
struct node_t* next;
} TNode;
 
typedef struct queue_t
{
TNode* head;
TNode* tail;
} TQueue;
 
//-----------------------------------------------------------------------------
TQueue* Push(TQueue* queue, int value)
{
TNode* node = (TNode*) malloc(sizeof(TNode));
node->value = value;
node->next = NULL;
 
if (queue->head && queue->tail)
{
queue->tail->next = node;
queue->tail = node;
}
else
{
queue->head = queue->tail = node;
}
 
return queue;
}
//-----------------------------------------------------------------------------
int Pop(TQueue* queue)
{
int value = 0;
 
if (queue->head)
{
value = queue->head->value;
queue->head = queue->head->next;
}
 
return value;
}
//-----------------------------------------------------------------------------
int Find(TQueue* queue, int value)
{
TNode* node = queue->head;
 
int i = 0;
for (; node && (node->value != value); node = node->next)
{
i++;
}
 
return node ? i : -1;
}
//-----------------------------------------------------------------------------
void Print(const TQueue* queue)
{
const TNode* node = queue->head;
 
for (; node; node = node->next)
{
printf("%d ", node->value);
}
printf("\n");
}
//-----------------------------------------------------------------------------
 
int main()
{
TQueue queue = {NULL, NULL};
 
printf("Queue operations:\n"
" 1. Push element\n"
" 2. View list\n"
" 3. Pop element\n"
" 4. Search element\n"
" any other for quit\n");
 
int quit = 0;
int value;
 
while (!quit)
{
printf("command> ");
fflush(stdin);
 
switch (getchar())
{
case '1':
printf("element> ");
if (scanf("%d", &value))
{
Push(&queue, value);
}
break;
 
case '2':
Print(&queue);
break;
 
case '3':
printf("popped: %d\n", Pop(&queue));
break;
 
case '4':
printf("search> ");
if (scanf("%d", &value))
{
int pos = Find(&queue, value);
 
if (pos != -1)
{
printf("%d position\n", pos + 1);
}
else
{
printf("element %d not found\n", value);
}
}
break;
 
default:
quit = 1;
}
}
 
return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.06.2014, 19:56
Ответы с готовыми решениями:

Есть код на С++, нужно перевести его в Си
Раз такая тема напишу свою проблему. Есть код на #include &lt;cassert&gt; #include &lt;fstream&gt; #include...

Нужно перевести код с c++ на c#. Может есть какие-нибудь программы?
Здравствуйте! Необходимо перевести коды с++ на с# #include &lt;iostream&gt; #include &lt;math.h&gt; using...

Есть код, нужно перевести на долее понятливый(простой язык)
#include &lt;stdio.h&gt; #include &lt;locale.h&gt; #define N1 8 #define N2 9 bool isascend(int* pn,...

Есть код. Нужно переписать его на управляемом С++
В общем вот код. Нужно реализовать его на управляемом С++. Помогите плиз, уже много времени...

1
433 / 368 / 149
Регистрация: 06.08.2012
Сообщений: 961
16.06.2014, 22:23 2
Vincent_Low,
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#include <iostream>
 
class TQueue
{
private:
    struct TNode {
        int value;
        TNode* next;
    };
 
    TNode* head;
    TNode* tail;
public:
    TQueue(): head(NULL), tail(NULL)
    { }
 
    void Push(int value) {
        TNode* node = new TNode;
 
        node->value = value;
        node->next = NULL;
        
        if (head && tail)
        {
            tail->next = node;
            tail = node;
        }
        else
        {
            head = tail = node;
        }
    }
    
    int Pop()
    {
        int value = 0;
        
        if (head)
        {
            value = head->value;
            head = head->next;
        }
        return value;
    }
    
    int Find(int value)
    {
        TNode* node = head;
        int i = 0;
        
        for (; node && (node->value != value); node = node->next) {
            i++;
        }
        return node ? i : -1;
    }
    
    void Print()
    {
        const TNode* node = head;
        
        for (; node; node = node->next) {
            std::cout << node->value;
            std::cout << std::endl;
        }
    }
 
};
 
int main()
{
    TQueue queue;
    
    std::cout << "Queue operations:\n" 
              <<" 1. Push element\n"
              <<" 2. View list\n"
              <<" 3. Pop element\n"
              << " 4. Search element\n"
              << " any other for quit\n";
    
    int quit = 0;
    int value;
    
    while (!quit)
    {
        std::cout << "command> ";
        fflush(stdin);
        
        switch (getchar())
        {
        case '1':
            printf("element> ");
            if (scanf("%d", &value))
            {
                queue.Push(value);
            }
            break;
        case '2':
            queue.Print();
            break;
        case '3':
            std::cout << "popped: ", queue.Pop();
            break;
        case '4':
            std::cout << "search> ";
            if (std::cin >> value)
            {
                int pos = queue.Find(value);
                if (pos != -1)
                {
                    std::cout << pos+1 << " position\n";
                }
                else
                {
                    std::cout << "element " << value << " not found\n";
                }
            }
            break;
        default:
            quit = 1;
        }
    }
    
    return 0;
}
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.06.2014, 22:23
Помогаю со студенческими работами здесь

есть код на Delphi нужно реализовать его на C++
Здраствуйте, есть код на Delphi не могли бы вы помочь реализовать его на C++ var Form1:...

Есть код програмы, нужно подправить его немного
Вот код: uses crt; var xn,xk,x,s,dx,t,ex:real; n,i:integer; begin clrscr; xn:=0.1;...

Есть код, но я немного затрудняюсь в его понимании - нужно объяснение
Вот сам код string &amp;encrypt(const string &amp;source, string &amp;dest) { string en_str1,...

Есть код в формате .postsetup, его нужно извлечь и прикрепить к нему дизайн
В общем, есть код в формате .postsetup, его нужно извлечь и прикрепить к нему дизайн, кто может...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru