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

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

Войти
Регистрация
Восстановить пароль
 
Pavel1133
3 / 3 / 0
Регистрация: 12.10.2009
Сообщений: 81
#1

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

15.12.2009, 18:19. Просмотров 875. Ответов 6
Метки нет (Все метки)

помогите пожалуйста сделать контрольную работу, мне нада сделать её хорошо или незачёт(((
очень прошу... я в классах ниочём(




Задача 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++
необходимо полное решение с оформлением

Контрольная работа - C++
помогите пожалуйста...

Контрольная Работа!!! - C++
Помогите плз с решением примерочного варианта контрольной работы (я болел и в моей литературе особо не осведомляется про эти темы)...

Контрольная работа по программированию - C++
Написать тексты программ на языке Паскаль 1. Вычисление суммы четных натуральных чисел в интервале от 1 до n. (3 варианта программ - с...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
15.12.2009, 18:23 #2
Pavel1133, хоть своё что - то есть ? а то думаю вряд ли с чистого .cpp вам писать будут
Pavel1133
3 / 3 / 0
Регистрация: 12.10.2009
Сообщений: 81
15.12.2009, 23:27  [ТС] #3
Нет думаю своего пока не будет(( я еле еле класс матрица написал и то с помощью (((


З.Ы язык С++

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

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

Добавлено через 3 часа 37 минут
up
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
15.12.2009, 23:41 #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  [ТС] #5
спасибо . только не пойму это какая задача(номер)

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

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

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

помогите плз)
M128K145
Эксперт С++
8286 / 3505 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
16.12.2009, 18:15 #6
Pavel1133, убери первую строку и перепиши 185 строку так
C++
1
int main()
Pavel1133
3 / 3 / 0
Регистрация: 12.10.2009
Сообщений: 81
17.12.2009, 20:18  [ТС] #7
sps , no eta zada4a ne otnositsia k moim (((
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2009, 20:18
Привет! Вот еще темы с ответами:

Контрольная работа по программированию ИС - C++
Помогите выбрать тему по предмету &quot;Программирование ИС&quot; Вот дали пример работы. Я его посмотрел он достаточно легкий, но не могу...

Контрольная работа (указатели) - C++
Помогите пожалуйста с контрольной работой по указателям...

Хеш-таблица (контрольная работа) - C++
Привет! Не думал, что обращусь за помощью, но похоже я переоценил свои возможности. Суть - у меня сейчас сессия (учусь заочно) и я, как...

Расчетная контрольная работа (мини курсовая) - C++
Мне нужно написать расчетную контрольную работу по программированию (мини курсовая). Я обыскал весь интернет и ничего не нашел, ни теории...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.12.2009, 20:18
Ответ Создать тему
Опции темы

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