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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Полный дек http://www.cyberforum.ru/cpp-beginners/thread74893.html
Добрый день! мучаюсь с задачей - реализовать тип и функции (инициализация,добавление\извлечение элементов с обеих сторон,проверка на пустоту) для реализации полного дека в связной памяти на чистом Си. единственное, что удалось узнать у преподавателя это то,что полный дек нужно создавать на основе двусвязного списка. Подскажите пожалуйста материалы и примеры на эту тему. хочется разобраться а...
C++ 2мерный массив Путём перестановки элементов квадратной вещественной матрицы добиться того, чтобы её максимальный элемент находился в левом верхнем углу, следующий по величине - в позиции (2,2), следующий по величине - в позиции (3,3) и т.д., заполнив таким образом всю главную диагональ; и найти номер первой из строк, не содержащих не одного положительного элемента. http://www.cyberforum.ru/cpp-beginners/thread74888.html
C++ Ассортимент на тему "функции"
Привет всем программистам ;)!..Скажите. а решённые задачки здесь как-нибудь отсортированы?а-то хотедось бы найти задачи на тему 2функции" и посмотреть , как они решаются)))
C++ Создать текстовый файл с записями фиксированной длины.
Создать текстовый файл с записями фиксированной длины. Файл содержит информацию о стоимости 10 наименований товаров в различных магазинах. Определить в каком магазине продаются самые дешевые пряники. Как это сделать? Понятия не имею, в txt же нет таблиц
C++ периметр многоугольника http://www.cyberforum.ru/cpp-beginners/thread74798.html
В задаче необходимо вычислить периметр n-угольника, используя подпрограмму вычисления точек пересечения его сторон( уравнения сторон заданы посредством коэффициентов k,b);подпрограамму вычисления расстояния между этими точками... У меня не компилятора, чтобы проверить правильность выполнения программы..Не могли бы выподсказать, есть ли здесь ошибки..? К тому задача на тему "функции"..кАК ЕЁ...
C++ В чем ошибка? Алгоритм Флойда Не понимаю почему не запускается, может нужна еще кака-набудь библиотека? Программу нашел в интернете #include <vcl.h> #pragma hdrstop #pragma argsused #include "iostream.h" const int INF = 100*1000*1000; int main() { // считываем матрицу графа подробнее

Показать сообщение отдельно
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
15.12.2009, 23:41     Контрольная работа(( проверь свои знания):D
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 откуда на компе валялось не компилировал и не читал чо тут, просто по названию класса
 
Текущее время: 00:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru