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

Контрольная работа(( проверь свои знания):D - C++

Восстановить пароль Регистрация
 
Pavel1133
3 / 3 / 0
Регистрация: 12.10.2009
Сообщений: 81
15.12.2009, 18:19     Контрольная работа(( проверь свои знания):D #1
помогите пожалуйста сделать контрольную работу, мне нада сделать её хорошо или незачёт(((
очень прошу... я в классах ниочём(




Задача 1.
Разработать класс для представления несократимой дроби, задаваемой двумя полями целого типа (числитель и знаменатель). Класс должен включать весь необходимый интерфейс: конструкторы, перегрузку операций (в том числе + и =), другие необходимые методы.
Продемонстрировать:
выполнение цепочки для сложения объектов класса и целых чисел;
цепочки присваиваний.
Разработать функцию:
для сортировки массива объектов; (ввод тестовых массивов объектов – из файла как строки вида 17/6);
для сложения элементов массива, меньших заданного значения.



Задача 2.
Разработать класс для представления ЦЕЛЫХ чисел в виде «по модулю максимальное простое плюс или минус минимальный остаток» (20=19-1).
Класс должен включать весь необходимый интерфейс: конструкторы, перегрузку операций (в том числе + , - , =), другие необходимые методы.
Продемонстрировать:
выполнение цепочки для сложения и вычитания объектов класса и целых чисел;
цепочки присваиваний.
Разработать функцию:
для сортировки массива объектов; (ввод тестовых массивов объектов – из файла);
для сложения элементов массива, являющихся четными числами.
(ввод тестовых массивов объектов – из файла строкой вида 19-1 или 23+2);


Задача 3.
Разработать класс для представления ВЕЩЕСТВЕННЫХ чисел в виде «по модулю максимальное простое плюс остаток» (12.34=11+1.34 -12.34=-11-1.34).
Класс должен включать весь необходимый интерфейс: конструкторы, перегрузку операций (в том числе + , - , =), другие необходимые методы.
Продемонстрировать:
выполнение цепочки для сложения и вычитания объектов класса и целых чисел;
цепочки присваиваний.
Разработать функцию:
для сортировки массива объектов; (ввод тестовых массивов объектов – из файла);
для сложения элементов массива, принадлежащих указанному диапазону.
(ввод тестовых массивов объектов – из файла строкой вида 11+1.34 или -11-1.34);


Задача 4.
Разработать класс для представления ВЕЩЕСТВЕННЫХ, задаваемых парой целых чисел: (целая часть числа, дробная часть числа). Дробная часть числа содержит две цифры (используем округление).
Пример. 12.341=(12 и 34)
Класс должен включать весь необходимый интерфейс: конструкторы, перегрузку операций (в том числе + и - и =), другие необходимые методы.
Продемонстрировать:
выполнение цепочки для сложения и вычитания объектов класса и целых чисел;
цепочки присваиваний.
Разработать функцию:
для сортировки массива объектов; (ввод тестовых массивов объектов – из файла строкой вида 12|34);
для сложения элементов массива, больших указанного значения.

Задача 5.
Разработать класс для представления ВЕЩЕСТВЕННЫХ, задаваемых парой чисел: (целая часть числа, дробная часть числа в виде дроби). Дробная часть числа – в виде несократимой дроби, например, 5+2/7.
Класс должен включать весь необходимый интерфейс: конструкторы, перегрузку операций (в том числе + и - и =), другие необходимые методы.
Продемонстрировать:
выполнение цепочки для сложения и вычитания объектов класса и целых чисел;
цепочки присваиваний.
Разработать функцию:
для сортировки массива объектов; (ввод тестовых массивов объектов – из файла строкой вида 5+2/7);
для сложения элементов массива, принадлежащих указанному отрезку.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2009, 18:19     Контрольная работа(( проверь свои знания):D
Посмотрите здесь:

C++ Контрольная Работа!!!
Список вопросов по C++ для желающих проверить свои знания C++ C++
C++ Полное решение, классы!!! + проверь свой АНГЛ!!!
C++ Необходимые знания и литература ?
Базовые знания C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Андрейка
410 / 214 / 24
Регистрация: 25.03.2009
Сообщений: 716
15.12.2009, 18:23     Контрольная работа(( проверь свои знания):D #2
Pavel1133, хоть своё что - то есть ? а то думаю вряд ли с чистого .cpp вам писать будут
Pavel1133
3 / 3 / 0
Регистрация: 12.10.2009
Сообщений: 81
15.12.2009, 23:27  [ТС]     Контрольная работа(( проверь свои знания):D #3
Нет думаю своего пока не будет(( я еле еле класс матрица написал и то с помощью (((


З.Ы язык С++

Добавлено через 43 секунды
мне хотяб одну-2 чтобы я хоть немного понял (

Добавлено через 1 час 20 минут
help

Добавлено через 3 часа 37 минут
up
Андрейка
410 / 214 / 24
Регистрация: 25.03.2009
Сообщений: 716
15.12.2009, 23:41     Контрольная работа(( проверь свои знания):D #4
Pavel1133,
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
#include "stdafx.h"
#include <iostream>
#include <sstream>
#include <string>
#include <cmath>
 
using std::stringstream;
using std::cout;
using std::cin;
using std::endl;
using std::cerr;
using std::ostream;
 
class Rational
{
private:
    int numerator;
    int denominator;
    friend void reduce(Rational &); // сокращение дроби 
    static int N; // количество дробей в программе
public:
    Rational()
    {}
    Rational(const int &, const int &);
    Rational(const Rational &);
    Rational& operator=(const Rational &);
    bool check(const int &, const int &);
    friend void PRINT(const Rational &);
    friend void toString(const Rational &);
    friend int GetNumerator(const Rational &);
    friend int GetDenominator(const Rational &);
    friend double real(const Rational &);
    friend double reverse_drob(const Rational &);
    friend Rational operator+(const Rational &, const Rational &);
    friend Rational operator-(const Rational &, const Rational &);
    friend Rational operator*(const Rational &, const Rational &);
    friend Rational operator/(const Rational &, const Rational  &);
    friend ostream& operator<<(ostream& out, const Rational &);
    friend Rational operator++(const Rational &);
    friend Rational operator--(const Rational &);
    ~Rational();
};
int Rational::N=0;
 
Rational::Rational(const int &a, const int &b)
{
    if (check(a,b))
    {
        numerator = a;
        denominator = b;
        reduce(*this);
        N++;
    }
    else
    {
        cerr<<"дробь не создана"<<endl;
    }
}
Rational::Rational(const Rational &obj)
{
    if (check(obj.numerator,obj.denominator))
    {
        numerator = obj.numerator;
        denominator = obj.denominator;
        reduce(*this);
        N++;
    }
}
Rational::~Rational()
{
    N--;
}
bool Rational::check(const int &a, const int &b)
{
    if ((a!=0) || (b!=0)) 
    {
        return true;
    }
    else
    {
        return false;
    }
}
void PRINT(const Rational &obj)
{
    cout<<"наша дробь имеет вид:"<<endl;
    cout<<obj.numerator<<endl;
    cout<<"-"<<endl;
    cout<<obj.denominator<<endl;
}
void toString(const Rational &obj)
{
    stringstream ss;
    ss<<"наша дробь это строка"<<endl;
    ss<<obj.numerator<<endl;
    ss<<"-"<<endl;
    ss<<obj.denominator<<endl;
    cout<<ss.str();
}
void reduce(Rational &obj)
{
    if ((!obj.numerator)||(!obj.denominator)) return;
    int a = abs(obj.numerator);
    int b = abs(obj.denominator);
    while (a!=b)
        if (a>b) a-=b;
        else
            b-=a;
    obj.numerator/=a;
    obj.denominator/=b;
}
int GetNumerator(const Rational &obj)
{
    return obj.numerator;
}
int GetDenominator(const Rational &obj)
{
    return obj.denominator;
}
double real(const Rational &obj)
{
    return (obj.numerator/(double)(obj.denominator));
}
double reverse_drob(const Rational &obj)
{
    return (double)(GetNumerator(obj)/GetDenominator(obj));
}
Rational operator+(const Rational &obj1, const Rational &obj2)
{
    Rational result;
    result.numerator = obj1.numerator*obj2.denominator+obj1.denominator*obj2.numerator;
    result.denominator = obj1.denominator*obj2.denominator;
    reduce(result);
    return result;
}
Rational operator-(const Rational &obj1, const Rational &obj2)
{
    Rational result;
    result.numerator = obj1.numerator*obj2.denominator-obj1.denominator*obj2.numerator;
    result.denominator = obj1.denominator*obj2.denominator;
    reduce(result);
    return result;
}
Rational operator*(const Rational &obj1, const Rational &obj2)
{
    Rational result;
    result.numerator=obj1.numerator*obj2.numerator;
    result.denominator=obj1.denominator*obj2.denominator;
    reduce(result);
    return result;
}
Rational operator/(const Rational &obj1, const Rational &obj2)
{
    Rational result;
    result.numerator=obj1.numerator*obj2.denominator;
    result.denominator=obj1.denominator*obj2.numerator;
    reduce(result);
    return result;
}
Rational& Rational::operator=(const Rational &obj)
{
    if (&obj==this) return *this;
    numerator = obj.numerator;
    denominator = obj.denominator;
    return *this;
}
ostream& operator<<(ostream& out, const Rational &obj)
{
    return out<<obj.numerator<<"/"<<obj.denominator;
}
Rational operator++(const Rational &obj)
{
    Rational ob(1,1);
    Rational result = obj+ob;
    reduce(result);
    return result;
}
Rational operator--(const Rational &obj)
{
    Rational ob(1,1);
    Rational result = obj-ob;
    reduce(result);
    return result;
}
int _tmain(int argc, _TCHAR* argv[])
{
    system("cls");
    setlocale(0,"RUSSIAN");
    Rational object(2,3);
    Rational object2(5,6);
    PRINT(object);
    toString(object);
    cout<<endl<<endl<<endl;
    PRINT(object2);
    toString(object2);
    cout<<"числитель первой дроби:"<<GetNumerator(object)<<endl;
    cout<<"знаменатель первой дроби:"<<GetDenominator(object)<<endl;
    cout<<"числитель второй дроби:"<<GetNumerator(object2)<<endl;
    cout<<"знаменатель второй дроби:"<<GetDenominator(object2)<<endl;
    cout<<"первая дробь в вещественном формате:"<<real(object)<<endl;
    cout<<"вторая дробь в вещественном формате:"<<real(object2)<<endl;
    Rational result;
    result = object+object2;
    cout<<"данные о дроби - результате:"<<endl;
    PRINT(result);
    toString(result);
    cout<<"числитель дроби - результата:"<<GetNumerator(result)<<endl;
    cout<<"знаменатель дроби результата:"<<GetDenominator(result)<<endl;
    cout<<"дробь - резуьтат в вещественном формате:"<<real(result)<<endl;
    cout<<"обратная дробь номер 1:"<<reverse_drob(object)<<endl;
    cout<<"обратная дробь номер 2:"<<reverse_drob(object2)<<endl;
    cout<<"обратная дробь номер 3:"<<reverse_drob(result)<<endl;
    result = object-object2;
    cout<<"данные о дроби - результате:"<<endl;
    PRINT(result);
    toString(result);
    cout<<"числитель дроби - результата:"<<GetNumerator(result)<<endl;
    cout<<"знаменатель дроби результата:"<<GetDenominator(result)<<endl;
    cout<<"дробь - резуьтат в вещественном формате:"<<real(result)<<endl;
    cout<<"обратная дробь номер 3:"<<reverse_drob(result)<<endl;
    result = object*object2;
    cout<<"данные о дроби - результате:"<<endl;
    PRINT(result);
    toString(result);
    cout<<"числитель дроби - результата:"<<GetNumerator(result)<<endl;
    cout<<"знаменатель дроби результата:"<<GetDenominator(result)<<endl;
    cout<<"дробь - резуьтат в вещественном формате:"<<real(result)<<endl;
    cout<<"обратная дробь номер 3:"<<reverse_drob(result)<<endl;
    result=object/object2;
    cout<<"данные о дроби - результате:"<<endl;
    PRINT(result);
    toString(result);
    cout<<"числитель дроби - результата:"<<GetNumerator(result)<<endl;
    cout<<"знаменатель дроби результата:"<<GetDenominator(result)<<endl;
    cout<<"дробь - резуьтат в вещественном формате:"<<real(result)<<endl;
    cout<<"обратная дробь номер 3:"<<reverse_drob(result)<<endl;
    cout<<object<<' '<<object2;
    return 0;
}
х3 откуда на компе валялось не компилировал и не читал чо тут, просто по названию класса
Pavel1133
3 / 3 / 0
Регистрация: 12.10.2009
Сообщений: 81
16.12.2009, 15:30  [ТС]     Контрольная работа(( проверь свои знания):D #5
спасибо . только не пойму это какая задача(номер)

+ при компиляции ругается на #include "stdafx.h"

Cannot open include file: 'stdafx.h': No such file or directory

а без него пишет
error C2061: syntax error : identifier '_TCHAR'

помогите плз)
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
16.12.2009, 18:15     Контрольная работа(( проверь свои знания):D #6
Pavel1133, убери первую строку и перепиши 185 строку так
C++
1
int main()
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2009, 20:18     Контрольная работа(( проверь свои знания):D
Еще ссылки по теме:

C++ Преимущества знания С++
C++ Тест на знания
C++ Как подтверждать свои знания при устройстве на работу?

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

Или воспользуйтесь поиском по форуму:
Pavel1133
3 / 3 / 0
Регистрация: 12.10.2009
Сообщений: 81
17.12.2009, 20:18  [ТС]     Контрольная работа(( проверь свои знания):D #7
sps , no eta zada4a ne otnositsia k moim (((
Yandex
Объявления
17.12.2009, 20:18     Контрольная работа(( проверь свои знания):D
Ответ Создать тему
Опции темы

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