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

Комплексные числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Надо найти "острова" на квадратной матрице http://www.cyberforum.ru/cpp-beginners/thread37995.html
Собственно ниже условие и я вроде все понял, но как это сделать... Буду очень благодарен за Вашу помощь. Каждый элемент квадратной матрицы размерности NxN равен нулю либо единице. Найдите...
C++ работа со строками. Здравствуйте, я студент 1го курса, попросили решить задачки на C++, а я с ним как то не очень.буду рад любой помоши, задачи выкладываю ниже Задача 55 Переформировать матрицу таким образом, чтобы... http://www.cyberforum.ru/cpp-beginners/thread37992.html
нахождение минимальных слов C++
Помогите пожалуйста нужна програмка для нахождение минимальных слов в строке и подсчёта их количества :help: слово минимальной длинны (самое короткое, состоящее из наименьшего количества...
Графики функций C++
В курсовой задание построить графики функций входного и выходного сигналов времени Входной: Uvh=U/exp(pow(a,2.0)*pow(t,2.0)) Выходной: for(i=0;i<N;i++) {if (Uvh<0) Uvih=0; else if...
C++ Ошибка с дебагом... http://www.cyberforum.ru/cpp-beginners/thread37970.html
есть код программы #include "stdafx.h" #include <iostream> #include <iomanip> #include <conio.h> #include <string.h> using namespace std; void Choice(); int c=0; //Глобальная...
C++ Максимальный элемент массива #include <stdio.h> #include <conio.h> main() { int n,i; int a; printf("\n Vvedite kolichestvo elementov v massive \n"); scanf("%d",&n); printf("Vedite %d elementov massiva \n",n);... подробнее

Показать сообщение отдельно
YurA_280784
Заблокирован
03.06.2009, 15:59
Вот разработанный мной самим хедер для комплексов, сам часто юзал в универе
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
В программе используем так
#include <windows.h>
#include <complex.h>

//Твой код

А вообще вот пример:
1
Вложения
Тип файла: rar tema_4.rar (27.9 Кб, 94 просмотров)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru