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

Стандартный класс complex. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Помогите настроить CodeBlocks... http://www.cyberforum.ru/cpp-beginners/thread347740.html
Скачал CodeBlocks 10,5 ,при установки поставил везде галочки .Потом решил проверить работоспособность:Создал консольное приложение,выбрал язык с++,компилятор не стал менять,затем вылетела ошибка:"This wizard doesn't know to setup exception flags for this compiler" ,нажал Ок ,там уже была вбита программа "Hello World" : #include <iostream> using namespace std; int main() { cout <<...
C++ sizeof и количество элементов в массиве Доброе время суток. Подскажите пожалуйста почему sizeof не возвоащает кол.элементов в массиве. #include <iostream> int main() { using namespace std; short int symbols = {34,6,4,6,3,43,2,55,12,432,54,34,543,234,432}; int a; http://www.cyberforum.ru/cpp-beginners/thread347735.html
Запись в двумерный вектор C++
Есть файл input.txt со следующим содержимым: 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 то есть, файл содержит матрицу 5x5. Необходимо записать данную матрицу в двумерный вектор v. Вот как я пытаюсь это сделать: ifstream input("input.txt");
C++ Нужен совет
Всем добрый день. Кто нибудь может поделиться компилятором Турбо Си++ или каким нибудь другим ...? Или подсказать где можно бесплатно скачать компилятор Си ++ , а то в нескольких сайтах качал архивы умных которые требуют СМС регистрации..., а в остальных сайтах видел только книги или видеоуроки ... Заранее благодарю... Сорри если пишу не в том раздел, просто незнаю куда обратиться...
C++ Почему не срабатывает специализация шаблона? http://www.cyberforum.ru/cpp-beginners/thread347678.html
#include <iostream> #include <clocale> using namespace std; struct box { char mak; float m; float n; float y; float z;
C++ Вызов конструктора для this в констукторе копирования Мое почтение, уважаемые! Подскажите, пожалуйста, как вызвать конструктор для this в констукторе копирования: template<class Data> List<Data>::List(const List& list) { List(); //why do not working for this? this->List(); //error C2273: 'function-style cast' : illegal as right side of '->' operator } Спасибо! :) подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
03.09.2011, 20:24     Стандартный класс complex.
Вот листинг моего complex.h
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
#ifndef COMPLEX_H
#define COMPLEX_H
 
#include <math.h>//Подключение прототипов математических функций
 
class CComplex
{   
public:
    double re,im;   
    CComplex(){re = 0; im = 0;}
    CComplex(double _re, double _im){re = _re; im = _im;}
 
    CComplex operator+(double val);
    CComplex operator-(double val);
    CComplex operator*(double val);
    CComplex operator/(double val);
 
    CComplex operator+(CComplex& val);
    CComplex operator-(CComplex& val);
    CComplex operator*(CComplex& val);
    CComplex operator/(CComplex& val);
 
    double Re(CComplex val);
    double Im(CComplex val);
    CComplex ExpToAlg(double abs_val, double angle);
    CComplex AlgToExp(CComplex val);
    CComplex cmxpower(CComplex val, double power);
};
typedef CComplex *LPCCOMPLEX;
 
CComplex
CComplex::operator +(double val)
{
    CComplex ret_val;
    ret_val.re = re+val;
    ret_val.im = im;
    return ret_val;
}
 
CComplex
CComplex::operator -(double val)
{
    CComplex ret_val;
    ret_val.re = re-val;
    ret_val.im = im;
    return ret_val;
}
 
CComplex
CComplex::operator *(double val)
{
    CComplex ret_val;
    ret_val.re = re*val;
    ret_val.im = im*val;
    return ret_val;
}
 
CComplex
CComplex::operator /(double val)
{
    CComplex ret_val;
    ret_val.re = re/val;
    ret_val.im = im/val;
    return ret_val;
}
 
CComplex
CComplex::operator +(CComplex& val)
{
    CComplex ret_val;
    ret_val.re = re+val.re;
    ret_val.im = im+val.im;
    return ret_val;
}
 
CComplex
CComplex::operator -(CComplex& val)
{
    CComplex ret_val;
    ret_val.re = re-val.re;
    ret_val.im = im-val.im;
    return ret_val;
}
 
CComplex
CComplex::operator *(CComplex& val)
{
    CComplex ret_val;
    ret_val.re = re*val.re - im*val.im;
    ret_val.im = im*val.im + re*val.im;
    return ret_val;
}
 
CComplex 
CComplex::operator /(CComplex& val)
{
    CComplex ret_val;
    double div = pow(val.re,2)+pow(val.im,2);
    ret_val.re = re*val.re + im*val.im;
    ret_val.im = -re*val.im + im*val.re;    
    return ret_val/div;
}
 
double CComplex::Re(CComplex val)
{
    return val.re;
}
 
double CComplex::Im(CComplex val)
{
    return val.im;
}
 
CComplex 
CComplex::ExpToAlg(double abs_val, double angle)
{
    CComplex ret_val;
    double pi = 3.14;
    angle = (angle/360);
    angle = angle - floor(angle);   //отбрасываем целое число 360 градусов
    angle = angle*2*pi;             //переводим угол в радианы
 
    angle = (angle/(pi/2));
    angle = angle - floor(angle);   //отбрасываем целое число pi/2 радиан
    angle = angle*(pi/2);           //переводим угол в первую четверть
    ret_val.re = abs_val*cos(fabs(angle));
    ret_val.im = abs_val*sin(fabs(angle));
    if(angle < 0)
        ret_val.im = - ret_val.im;//sin(-x) = - sin(x);
    return ret_val;
}
 
CComplex 
CComplex::AlgToExp(CComplex val)
{
    CComplex ret_val;
    ret_val.re = sqrt(pow(val.re,2)+pow(val.im,2));
    ret_val.im = atan2(val.im,val.re);
    return ret_val;
}
 
CComplex 
CComplex::cmxpower(CComplex val, double power)
{
    CComplex ret_val;
    ret_val    = AlgToExp(val);
    ret_val.im = ret_val.im*power;
    ret_val    = ExpToAlg(ret_val.re,ret_val.im);
    return ret_val;
}
 
#endif
 
Текущее время: 12:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru