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

Программа с классами комплексных чисел и перегрузками операций - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Чтение .rar http://www.cyberforum.ru/cpp-beginners/thread654676.html
Привет всем! Задача состоит в том, чтобы написать программу выводящую на экран информацию о файле в rar-архиве, т.е : имя файла, размеры до и после запаковки, CRC, код ОС в которой был создан файл, дату создания. Имеется структура rar http://www.win-rar.ru/support/knowledge/detail.php?ID=1081 . Первый раз с таким сталкиваюсь, объясните на примере пожалуйста.
C++ y=sin(n*x)+cos(k*x)+ln(m*x) y=sin(n*x)+cos(k*x)+ln(m*x) где x= { e^z+z, при z>1 z^2+1, при z меньше или равно 1 не поможете ли мне пожалуйста !! никак не могла решить((( http://www.cyberforum.ru/cpp-beginners/thread654667.html
Поиск элементов массива, большеих заданной величины по модулю C++
Среднюю группу детского сада вывели на прогулку. Сколько девочек и сколько мальчиков видно из-за забора, если рост мальчиков задается в сантиметрах отрицательными числами, а девочек - положительными в виде целых α1, α2, ..., αN? Кроме того, у всех девочек на головках завязаны бантики высотой 10 см, а высота забора H см. Добавлено через 11 секунд Спасибо всем заранее!!!
C++ Найти произведение четных цифр этого числа. Верно ли, что число содержит данную цифру А более двух раз
Видел похожу здесь на форуме но она на pascale как писать в c++ я не понял. Дано натуральное число. Найти произведение четных цифр этого числа. Верно ли, что число со-держит данную цифру А более двух раз (А вводить с клавиатуры).
C++ Uml http://www.cyberforum.ru/cpp-beginners/thread654662.html
Где можно скачать литературу по разработке диаграм ideas modeler?
C++ Динамеческая память. Исключение Всем доброго времени суток! Предисловие: Имеется задание на связные списки. Суть задания не важна, но вкратце: по входным строкам формировать дерево папок. Используемый мною язык, очевидно, c++, который четкой родственной связи со мной проявлять, пока что, не сильно желает. Проблема, как она есть: При выделении памяти под структуру данных (в листинге строка #39), при помощь оператора new,... подробнее

Показать сообщение отдельно
melaaro
0 / 0 / 0
Регистрация: 19.09.2012
Сообщений: 30
19.09.2012, 22:14     Программа с классами комплексных чисел и перегрузками операций
Задание состоит из таких частей:
Кликните здесь для просмотра всего текста
Для выбранного варианта определите класс, включив в него:
• конструктор по умолчанию;
• конструктор инициализации;
• конструктор преобразования базового типа к типу, определяемому разрабатываемым классом;
В разрабатываемом классе перегрузите потоковые операции для объектов класса. Для выполнения задания предложенного варианта перегрузите необходимые математические операции.

I. Определить класс - "Комплексное число" в виде действительной и мнимой частей комплексного числа.
II. Составить пользовательскую функцию, которая получает значение типа "Комплексное число", вычисляет значение математической функции y(z), заданной в варианте, и возвращает полученное значение.
III. Составить пользовательскую функцию, которая получает значение стандартного типа complex, вычисляет значение математической функции y(z), заданной в варианте, и возвращает полученное значение.
IV. Составить пользовательскую функцию, которая вычисляет таблицу значений заданной математической функции y(z1), где z1, значение типа "Комплексное число", и у(z), где z, значение типа complex. Таблица вычисляется для комплексных чисел, для изменения действительной части комплексных значений в диапазоне -1<=Re(z)<=1, а мнимой в диапазоне 1<=Im(z)<=1 с шагом 0.5 по обоим аргументам.
V. Составить пользовательскую функцию, которая вводит значение комплексного числа с клавиатуры в объект z типа "Комплексное число", вычисляет значение у(z), сравнивает его с таким же вычислением, но для значения типа complex. На экран функция выдает вычисленные значения и результат сравнения.
VI. Составить функцию main, органицующую работу всех функций.

Собственно, функция: y(z) = 1- z^5 - th(z/2)


по лекциям и найденному отчасти на вашем же форуме материалу сотворил подобие всего этого за исключением пункта IV, но оно естественно выдает кучу ошибок, ибо половина кода явно бред, возможно даже в элементарных вещах от невнимательности. но увы, как исправить, не знаю ~__~' надеюсь на снисходительное отношение и помощь в исправлении/написании этой прелести)

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
#define _USE_MATH_DEFINES
#include <iostream>
#include <conio.h>
using namespace std;
#include<cmath>
#include <math.h> 
#include <complex>
#pragma STDC CX_LIMITED_RANGE on/off
#define complex _Complex
#define _Complex_I const float _Complex
#define imaginary _Imaginary
#define _Imaginary_I const float _Imaginary
#define I
 
class Complex 
{ public:
double re, im;
 
    Complex() {re=im=0;} //по умолчанию
    Complex (double a) {re=a, im=0;} //преобразования
    Complex (double a, double b) {re=a, im=b;} //инициализации
 
    //перегрузка потоковых операций...
    ostream& operator << (ostream& S, Complex&d)
    { S<<d.re<<" "<<d.im<<endl;
    return S;
    }
 
    istream& operator >> (istream& S, Complex&d)
    { S>>d.re>>d.im;
    return S;
    }
 
    //перегрузка необходимых мат. операций: -, /на число, ^[* на себя?...]
    friend Complex operator - (Complex a, Complex b) {return Complex(a.re-b.re, a.im-b.im);};
    friend Complex operator * (Complex a, Complex b) {return Complex(a.re*b.re, a.im+b.im)/*(a.re*b.re-a.im*b.im)+(a.re*b.im+a.im*b.re)*/;};
    friend Complex operator / (Complex a, int n) {return Complex (a.re/n, a.im/n);};
};
 
    Complex func (Complex z)
    {
        Complex y;
        y = 1 - z*z - tanh(z/2);
        return y;
    }
 
    double complex func2 (complex z1)
    {
        double complex y1;
        y = 1 - z*z - catanh(z/2);
        return y1;
    }
 
    //тут должна быть загадочная функция с таблицей
 
    void vvod ()
    {
        Complex z, y;
        double complex y1;
        int re, im;
        cout<<"ReZ = ";
        cin>>z.re;
        cout<<"ImZ = ";
        cin>>z.im;
        
        y = func(z);
        y1 = func2(z);
        cout<<" ComplexDigit y(z) = "<<y<<endl;
        cout<<"complex y(z) = "<<y1<<endl;
        if (y>y1)
            cout<<y<<" > "<<y1<<endl;
        else
            cout<<y<<" < "<<y1<<endl;
    }
 
    void main()
    {
        Complex Z;
        vvod();
        getch();
 
    }
p.s. в формуле вместо z^5 сделала z*z, т.к не представляю, как эту операцию представить для комплексного числа с перегрузкой =Ъ
директивы прописаны все подряд, которые вообще нашлись на эту тему...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 20:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru