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

Программа возведения комплексного числа в вещественную степень !!! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ С/С++ для начинающих http://www.cyberforum.ru/cpp-beginners/thread188182.html
Вводится последовательность целых чисел, 0 – конец последовательности. Вычислить количество положительных чисел, кратных 7 и не кратных 5 и сумму отрицательных элементов последовательности. Решить данную задачу через цикл!
C++ Сравнение двух одномерных массивов Помогите пожалуйста сравнить два одномерных численных массива и вывеси на печать все совпадающие элементы http://www.cyberforum.ru/cpp-beginners/thread188175.html
C++ Посоветуйте литературу по изучению языка программирования С++ ?
Всем добрый вечер! Посоветуйте толковые книжки по программированию на языке С++ с нуля ? Тоесть раньше вообще не занимался программированием, вот чтото загорелся желанием начать изучать, вначале сам хочу поковыряться , в дальнейшем планирую на курсы пойти, но в начале сам хочу) мне посоветовали вначале освоить Visual Basic 6.0 затем С а уж затем С++ ,правильно ли это? может что то другое...
C++ Определить процедуру вычисления площади треугольника по координатам его вершин
Даны натуральное число n, действительные числа x1, y1, x2, y2,..., xn, yn. Найти площадь n угольника, вершины которого при некотором последовательным обходе имеют координаты (x1, y1), (x2, y2), ..., (xn, yn). (Определить процедуру вычисления площади треугольника по координатам его вершин).
C++ Программа нахождения максимумов в диагоналях матрицы 5х5 http://www.cyberforum.ru/cpp-beginners/thread188170.html
Помогите пожалуйста решить задачу: Написать на СИ программу нахождения максимумов в диагоналях матрицы 5х5
C++ Вычислить сумму элементов массива Вычислить сумму элементов массива а1+...+аn на языке Си. заранее спасибо подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
2805 / 1581 / 248
Регистрация: 03.05.2010
Сообщений: 3,684
08.11.2010, 23:39     Программа возведения комплексного числа в вещественную степень !!!
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
//////////////////////////////////////////////////////////////////////////////////////
#include <cmath>
#include <complex>
#include <iostream>
//////////////////////////////////////////////////////////////////////////////////////
typedef double                T_real;
typedef std::complex<T_real>  T_compl;
//////////////////////////////////////////////////////////////////////////////////////
T_compl  pow_z_p
    (
        T_real  z_real, 
        T_real  z_imag, 
        T_real  p
    )
{
    T_real  z_p_real = 0;
    T_real  z_p_imag = 0;
    if(z_real || z_imag)
    {
        //Пронормируем заданное комплексное число.
        T_real  norm     = sqrt(z_real * z_real + z_imag * z_imag);
        T_real  cos_phi  = z_real / norm;        
        T_real  phi      = acos(cos_phi);    
 
        //Представим заданное комплексное число
        //z == z_real + i * z_imag
        //в виде
        //z == norm * (cos(phi) + i * sin(phi)).
        //Возводя это число в степень p по формуле Муавра, получим:
        //z^p = norm^p * (cos(p * phi) + i * sin(p * phi)),
        //откуда
        T_real  norm_p  = pow(norm, p);
        z_p_real        = norm_p * cos(p * phi);
        z_p_imag        = norm_p * sin(p * phi);       
    }
    return T_compl(z_p_real, z_p_imag);     
}
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    std::cout << "Введите комплексное число z: "
              << std::endl
              << '\t'
              << "z.real = ";
 
    T_real  z_real;
    std::cin >> z_real;
 
    std::cout << '\t'
              << "z.imag = ";
 
    T_real  z_imag;
    std::cin >> z_imag;
 
    std::cout << "Введите вещественный показатель степени: ";
    T_real p = 0;
    std::cin >> p;
 
    std::cout << std::endl
              << "Комплексное число "
              << T_compl(z_real, z_imag)
              << " в степени "
              << p
              << " равно "
              << std::endl
              << pow_z_p(z_real, z_imag, p)
              << std::endl
              << std::endl
              << "Тот же результат, полученный через библиотечную функцию: "
              << std::endl
              << std::pow(T_compl(z_real, z_imag), p)
              << std::endl
              << std::endl;    
}
 
Текущее время: 21:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru