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

Описать класс для работы с комплексными числами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ О полезной литературе и начале http://www.cyberforum.ru/cpp-beginners/thread435798.html
Здравствуйте,извиняюсь если создал надоедливую всем тему "помогите,подскажите")), мы недавно прошли VB 6.0, до этого я был нулем в программировании, конечно и сейчас сравнивая с вами я полный ноль), у меня есть сильное желание начать изучать язык c++, я почитал и растерялся во всем многообразии различных программ и литературы, чтобы вы могли из личного опыта мне посоветовать, какие среды скачать...
C++ Строковый ввод-вывод Помогите пожалуйста решить задачу, вот она: Нужно создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию Выполнить задание. При разработке алгоритма считать, что количество строк в исходном файле заранее неизвестно. вот задание: 1) Скопировать из файла F1 в файл F2 все строки, кроме той строки, в которой больше всего гласных букв. 2) Напечатать номер этой... http://www.cyberforum.ru/cpp-beginners/thread435794.html
C++ Массив целых чисел, помогите пожалуйста
Осталось последняя задача по программирования до зачета неполучается решить помогите пожалуйста друзья, заранее спасибо. "В массиве целых чисел опредилить: a) количество четных и нечетных чисел; б) количество элементов вне задаваемого с клавиатуры диапозона значений; в) произведение всех положительных элементов массива"
Избавиться от глобальной переменной C++
#include <iostream> // подключаем ввод/вывод #include <cmath> // подключаем математические функции #include <conio.h> // подключаем для использования getch() using namespace std; // пространство имен std #define PI 3.1415926535 // макрос. в коде PI будет автоматически заменяться на...
C++ Ряд чисел в массив http://www.cyberforum.ru/cpp-beginners/thread435777.html
В консоли вводим с клавиатуры ряд чисел, размер ряда n 1 7 4 2 7 9 4 2 На выходе нужно получить массив состоящий из этих чисел.
C++ callback функции не для кнопок на экране, а для клавиш на клав. и мышке. Как? Я так понимаю, что в WIN API все действия делаются асинхронно через callback функции. Но как инициировать действие для клавиш клавиатуры и кнопок мышки? Или их по другому делают? Вот из книги страуструпа( я не много по другому написал ): #include "GUI.h" #include "Graph.h" #include "Lines_window.h" #include <stdexcept> #include <iostream> int main() подробнее

Показать сообщение отдельно
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
26.01.2012, 20:01     Описать класс для работы с комплексными числами
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
#include <iostream>
#include <cstdlib>
#include <locale>
#include <vector>
#include <algorithm>
#include <numeric>
#include <conio.h>
 
template <typename valueType>
class complex
{
public:
    typedef valueType value_type;
    typedef valueType& reference;
    typedef valueType* pointer;
 
    complex(const value_type& re = value_type(), const value_type im = value_type()) :
        _re(re), _im(im)
    {
    }
 
    template <typename secondValueType>
    complex(const complex<secondValueType>& copy_value) :
        _re(copy_value._re), _im(copy_value._im)
    {
    }
 
    reference imag()
    {
        return _im;
    }
 
    value_type imag() const
    {
        return _im;
    }
 
    reference real() 
    {
        return _re;
    }
 
    value_type real() const
    {
        return _re;
    }
 
    const complex& operator += (const complex& valueBuffer)
    {
        _re += valueBuffer._re;
        _im += valueBuffer._im;
        return *this;
    }
 
    const complex& operator -= (const complex& valueBuffer)
    {
        _re -= valueBuffer._re;
        _im -= valueBuffer._im;
        return *this;
    }
 
    const complex& operator *= (const complex& valueBuffer)
    {
        _re = _re * valueBuffer._re - _im * valueBuffer._im;
        _im = _re * valueBuffer._im + _im * valueBuffer._re;
        return *this;
    }
 
    friend complex operator + (const complex& first, const complex& second)
    {
        return complex(first._re + second._re, first._im + second._im);
    }
 
    friend complex operator - (const complex& first, const complex& second)
    {
        return complex(first._re - second._re, first._im - second._im);
    }
 
    friend complex operator * (const complex& first, const complex& second)
    {
        return complex(first._re * second._re - first._im * second._im, first._re * second._im + first._im * second._re);
    };
 
    friend std::ostream& operator << (std::ostream& stream, const complex& value_cout)
    {
        return stream << value_cout._re << (value_cout._im > 0 ? " + " : " - ") << (value_cout._im > 0 ? value_cout._im :  - value_cout._im) << " * i"; 
    }
 
    friend std::istream& operator >> (std::istream& stream, complex& value_cin)
    {
        value_type re, im;
        char op1;
 
        stream >> re >> op1 >> im >> op1 >> op1;
 
        value_cin._re = re;
        value_cin._im = im;
 
        return stream;
    }
 
    double r() const
    {
        return pow(_im * _im + _re * _re, 0.5);
    }
 
private:
    value_type _re;
    value_type _im;
};
 
template <typename T1>
struct rander :
    public std::unary_function<complex<double>, void>
{
    rander() 
    {
        srand(static_cast<unsigned int>(time(NULL)));
    }
 
    complex<double> operator()() const
    {
        return complex<double>(0.1 * (rand() % 51 - 100), 0.1 * (rand() % 51 - 100));
    }
};
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    const unsigned int n = 10;
    std::vector<complex<double> > vector(n);
    std::generate(vector.begin(), vector.end(), rander<double>());
    
    std::cout << "Сумма: " << std::accumulate(vector.begin(),
        vector.end(), complex<double>());
 
    _getch();
    return EXIT_SUCCESS;
}
 
Текущее время: 02:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru