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

Создайте класс HugeInteger, который использует массив из 40 элементов для хранения целых чисел до 40 цифр - C++

Восстановить пароль Регистрация
 
konstantin_I
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 6
16.05.2014, 20:43     Создайте класс HugeInteger, который использует массив из 40 элементов для хранения целых чисел до 40 цифр #1
Создайте класс HugeInteger, который использует массив из 40 элементов
для хранения целых чисел, содержащих до 40 цифр. Создайте функции
элементы inputHugeInteger, outputHugeInteger, addHugeIntegers и
substractHugeIntegers для ввода, вывода, сложения и вычитания этих больших
целых. Для сравнения объектов HugeInteger создайте функции isEqualTo
(равно), isNotEqualTo (неравно), isGreaterThan (больше), isLessThan (меньше),
isGreaterThanOrEqualTo (больше или равно), isLessThanOrEqualTo (меньше
или равно) – каждая из них является предикатной функцией, которая просто
возвращает единицу (истина), если соответствующее соотношение между двумя
большими целыми выполняется. Создайте предикатную функцию isZero (нуль).
Можно подготовить также функции-элементы multiplayHugeIntegers
(умножение), divideHugeIntegers (деление) и modulusHugeIntegers (нахождение
абсолютной величины).
Помогите программа не компилируется..

Добавлено через 20 секунд
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<malloc.h>
#define max 40
struct HugeInteger 
{
    int elements[40];
}
integer[max]*;
//---------
 
void inputHugeInteger()
{
        int n;
        printf("\n input position of element");
        n=getchar();
        integer[n]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        printf("\n input integer \t");
        scanf("%d",integer[n]->elements[n]);
}
//-----------
void outputHugeInteger()
{
        int n;
        printf("\n output element from i position: i=");
        n=getchar();
        integer[n]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        printf("\n output integer %d",integer[n]->elements[n]);
}
//------------
void addHugeIntegers()
{
        int n,k,result;
        printf("\n the addition of two elements ");
        printf("\n choice the first element:\t");
        n=getchar();
        integer[n]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        printf("\n choice the second element:\t");
        k=getchar();
        integer[k]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        result=integer[n]+integer[k];
        printf("\n result= %d",result);
}
//--------
void substactHugeIntegers()
{
        int n,k,result;
        printf("\n the subtraction of the two elements");
        printf("\n choice the first element:\t");
        n=getchar();
        integer[n]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        printf("\n choice the second element:\t");
        k=getchar();
        integer[k]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        result=integer[n]-integer[k];
        printf("\n result= %d",result);
}
//-------------
void isEqualTo()
{
        int n,k,result;
        printf("\n are two elements equal?");
        printf("\n choice the first element:\t");
        n=getchar();
        integer[n]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        printf("\n choice the second element:\t");
        k=getchar();
        integer[k]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        result=integer[n]-integer[k];
        if(result==0)
        {
            return 1;
            printf("\n yes");
        }
        else
        {
            return 0;
        printf("\n no");
        }
}
//--------------
void isNotEqualTo()
{
        int n,k,result;
        printf("\n are two elements not equal?");
        printf("\n choice the first element:\t");
        n=getchar();
        integer[n]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        printf("\n choice the second element:\t");
        k=getchar();
        integer[k]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        result=integer[n]-integer[k];
        if(result!=0)
        {
            return 1;
            printf("\n yes");
        }
        else
        {
            return 0;
        printf("\n no");
        }
}
//--------------
void  isGreaterThan()
{
        int n,k;
        printf("\n Are the first element is greater than second?");
        printf("\n choice the first element:\t");
        n=getchar();
        integer[n]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        printf("\n choice the second element:\t");
        k=getchar();
        integer[k]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        if(integer[n]>integer[k])
        {
            return 1;
            printf("\n yes");
        }
        else
        {
            return 0;
        printf("\n no ");
        }
}
//----------
void  isLessThan()
{
        int n,k;
        printf("\n Are the first element is lesser than second?");
        printf("\n choice the first element:\t");
        n=getchar();
        integer[n]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        printf("\n choice the second element:\t");
        k=getchar();
        integer[k]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        if(integer[n]<integer[k])
        {
            return 1;
            printf("\n yes");
        }
        else
        {
            return 0;
        printf("\n no ");
        }
}
//------------
void  isGreaterThanOrEqualTo()
{
        int n,k;
        printf("\n Are the first element is greater or equal than second?");
        printf("\n choice the first element:\t");
        n=getchar();
        integer[n]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        printf("\n choice the second element:\t");
        k=getchar();
        integer[k]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        if(integer[n]>=integer[k])
        {
            return 1;
            printf("\n yes");
        }
        else
        {
            return 0;
        printf("\n no ");
        }
}
//------------
void  isLessThanOrEqualTo()
{
        int n,k;
        printf("\n Are the first element is lesser or equal than second?");
        printf("\n choice the first element:\t");
        n=getchar();
        integer[n]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        printf("\n choice the second element:\t");
        k=getchar();
        integer[k]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        if(integer[n]<=integer[k])
        {
            return 1;
            printf("\n yes");
        }
        else
        {
            return 0;
        printf("\n no ");
        }
}
//------------
void multiplayHugeIntegers()
{
        int n,k,result;
        printf("\n  multiplay of the two elements");
        printf("\n choice the first element:\t");
        n=getchar();
        integer[n]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        printf("\n choice the second element:\t");
        k=getchar();
        integer[k]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        result=integer[n]*integer[k];
        printf("\n result= %d",result);
}
//-------------
void divideHugeIntegers()
{
        int n,k,result;
        printf("\n  divide of the two elements");
        printf("\n choice the first element:\t");
        n=getchar();
        integer[n]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        printf("\n choice the second element:\t");
        k=getchar();
        integer[k]=(struct HugeInteger*)malloc(sizeof(struct HugeInteger));
        result=integer[n]/integer[k];
        printf("\n result= %d",result);
}
//-------------
inline void help() {
    puts("\n1 - inputHugeInteger\n2 - outputHugeInteger\n3 - addHugeIntegers\n4 -  substactHugeIntegers\n5 - isEqualTo\n6 -isNotEqualTo\n7 - isGreaterThan\n8 - isLessThan\n9 - isGreaterThanOrEqualTo\n10 - isLessThanOrEqualTo\n11 - multiplayHugeIntegers\n12 - divideHugeIntegers\n13 - help\nq - quit program\n");
//----------------
void main()      //главна€ функци€
{
    help();
    c=0;
    while (c!='q')
        switch (c=getchar())
         {
            case '1': inputHugeInteger(); break;
            case '2': outputHugeInteger(); break;
            case '3': addHugeIntegers(); break;
            case '4': substactHugeIntegers(); break;
            case '5': isEqualTo(); break;
            case '6': isNotEqualTo(); break;
            case '7': isGreaterThan(); break;
            case '8': isLessThan(); break;
            case '9': isGreaterThanOrEqualTo; break;
            case '10': isLessThanOrEqualTo(); break;
            case '11': multiplayHugeIntegers(); break;
            case '12': divideHugeIntegers(); break;
            case '13':help(); break;
            default: break;
        }
    for (c=0; c<max; ++c) free(integer[c]);     //освобождаем память после завершения
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2014, 20:43     Создайте класс HugeInteger, который использует массив из 40 элементов для хранения целых чисел до 40 цифр
Посмотрите здесь:

Создать класс который может быть использован для хранения информации и студентах C++
Реализуйте класс для хранения ФИО и номера телефона человека, класс для хранения даты рождения человека, а также класс для хранения ФИО и почтового ад C++
Создайте класс для хранения данных о студенте C++
C++ Создайте класс Array с двумя полями: указатель на массив целых чисел и размер массива
Написать класс С++, который использует функции из библиотеки с C++
C++ Создайте класс Polar, который предназначен для хранения полярных координат (радиуса и угла)
Стек для хранения целых чисел (int) C++
C++ Создайте класс time, содержащий три поля, предназначенные для хранения часов, минут и секунд

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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