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

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

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

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

16.05.2014, 20:43. Просмотров 434. Ответов 0
Метки нет (Все метки)

Создайте класс 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]);     //освобождаем память после завершения
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2014, 20:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создайте класс HugeInteger, который использует массив из 40 элементов для хранения целых чисел до 40 цифр (C++):

Создайте класс Polar, который предназначен для хранения полярных координат (радиуса и угла) - C++
Задача такова: Только для любителей математики: создайте класс Polar, который предна- значен для хранения полярных координат (радиуса и...

Создайте класс Array с двумя полями: указатель на массив целых чисел и размер массива - C++
. В классе хранится только указатель на массив, сами данные хранятся в динамической области памяти, выделенной оператором new. Напишите...

Создайте класс для хранения данных о студенте - C++
1. Создайте класс для хранения данных о студенте: фамилия, специальность, курс, успеваемость (массив из пяти элементов). В классе должны...

Реализуйте класс для хранения ФИО и номера телефона человека, класс для хранения даты рождения человека, а также класс для хранения ФИО и почтового ад - C++
Реализуйте класс для хранения ФИО и номера телефона человека, класс для хранения даты рождения человека, а также класс для хранения ФИО и...

Создайте класс time, содержащий три поля, предназначенные для хранения часов, минут и секунд - C++
Создайте класс с именем time, содержащий три поля типа int, предназначенные для хранения часов, минут и секунд. Один из конструкторов...

Создайте класс person. Создайте тип people, описывающий массив элементов типа person. - C++
Создайте класс person. У него должны быть поля: name: string; sex: (&quot;муж&quot;, &quot;жен&quot;); height: 100..220. Кроме того, создайте тип people,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2014, 20:43
Привет! Вот еще темы с ответами:

Разработать класс Person, который содержит соответствующие члены для хранения. - C++
Разработать класс Person, который содержит соответствующие члены для хранения: -имени, -возраста, -пола и -телефонного номера. ...

Создайте класс Stack, реализующий стек для хранения символов - Java SE
Создайте класс Stack, реализующий стек для хранения символов. Используйте методы push () и pop () для манипулирования ...

Дан массив целых чисел. Определить количество четных элементов и коли-чество элементов, оканчивающихся на цифр - C#
Пожалуйста помогите решить на C#!Дан массив целых чисел. Определить количество четных элементов и коли-чество элементов, оканчивающихся на...

С помощью генератора случайных чисел создайте массив из 10 целых чисел - Turbo Pascal
С помощью генератора случайных чисел создайте массив из 10 целых чисел. Поменяйте местами рядом стоящие элементы. А именно: первый и...


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

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

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