Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Ilya2016
0 / 0 / 1
Регистрация: 22.11.2015
Сообщений: 19
#1

Арифметические операции. Комплексные числа - C++

17.10.2016, 00:34. Просмотров 183. Ответов 2
Метки нет (Все метки)

Была поставлена задача:
class Complex
Смешанная арифметика ( перегрузка операторов)

Как я понял я должен перевести выражение из префиксной в обратную польскую, используя стек.
Например:
C++
1
Сomplex q1,w2,e3;
(q1 + w2) * e3 -> q1w2+*

1. Как записать выражение в виде массива:
C++
1
char string[]= "(q1 + w2) * e3";
Чтобы было
C++
1
2
3
4
string[0] = "(";
string[1] = "q1";
string[2] = "+";
и т. д.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2016, 00:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Арифметические операции. Комплексные числа (C++):

Комплексные числа. Реализовать класс и математические операции
Здравствуйте. Тема-комплексные числа. Надо: реализовать класс, следом надо реализовать математические операции, а именно: (+,-,*,Arg, ||);я...

Арифметические операции с десятичными цифрами числа
Дано 3-хзначное число.Определить: а)Является ли сумма его чисел 2-хзначным числом? б)Является ли произведение его цифр 3-хзначным...

Распарсить строку, найти числа. произвести арифметические операции
Кто подскажет по поводу такого вопроса, сразу говорю есть строка ansistring, вида "12,12,33,56,23,67" причем цифр в строке всегда разное...

Ввести, используя списки, два больших целых числа и выполнить арифметические операции(+,-,*,/)
С++, С помощью списков на С++ надо ввести два больших целых числа(каждое более 1000 знаков ), и произвести арефметические операции(+,-,*,/)...

Используя арифметические операции, определить и вывести сумму цифр трехзначного целого числа k (100<=k<=255)
1)осуществить: - проверку корректности по типу вводимых значений; - проверку диапазонов вводимых значений. -Используя...

Арифметические операции с указателями
Имеется следующий простой код: #include &lt;iostream&gt; using namespace std; int main() { int * ptr; const int SIZE = 3; int...

2
Nikitko_Cent
144 / 114 / 37
Регистрация: 27.10.2011
Сообщений: 690
Завершенные тесты: 3
17.10.2016, 03:53 #2
Скорее всего, ты неправильно понял задачу. Мне кажется, задача была реализовать класс комплексных чисел с перегрузкой всех арифметических операций (+, -, *, /)
0
SpBerkut
Объявлятель переменных
948 / 274 / 275
Регистрация: 24.09.2011
Сообщений: 1,008
Завершенные тесты: 2
17.10.2016, 08:55 #3
Цитата Сообщение от Nikitko_Cent Посмотреть сообщение
Мне кажется, задача была реализовать класс комплексных чисел с перегрузкой всех арифметических операций (+, -, *, /)
Вот и мне так показалось.
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
#include <iostream>
 
class Complex {
    private:
        double  Re,
                Im;
    public:
        Complex() {Re = 0.0; Im = 0.0;}
        Complex(double Re, double Im = 0.0) {this->Re = Re; this->Im = Im;}
        Complex(const Complex &C) {this->Re = C.Re; this->Im = C.Im;}
        
        ~Complex() {}
        
        Complex operator+(const Complex &C) {Complex R(this->Re + C.Re, this->Im + C.Im); return R;}
        Complex operator-(const Complex &C) {Complex R(this->Re - C.Re, this->Im - C.Im); return R;}
        Complex operator*(const Complex &C) {Complex R(this->Re*C.Re - this->Im*C.Im, this->Re*C.Im + this->Im*C.Re); return R;}
        Complex operator/(const Complex &C) {
            double den = C.Re*C.Re + C.Im*C.Im;
            Complex R((this->Re*C.Re + this->Im*C.Im)/den,(this->Im*C.Re - this->Re*C.Im)/den);
            return R;
        }
 
        friend std::ostream & operator << (std::ostream &cout, const Complex &C) {
            cout << C.Re << (C.Im>0?"+":"");
            if (C.Im!=0) cout << C.Im << "i\n";
            return cout;
        }
        
        void setRe (const double Re) {this->Re = Re; return;}
        void setIm (const double Im) {this->Im = Im; return;}
        
        double getRe() {return this->Re;};
        double getIm() {return this->Im;};
};
 
int main()
{
    Complex A(1.2, 0.7);
    Complex B(A);
    Complex C(A*B);
    std::cout << C;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2016, 08:55
Привет! Вот еще темы с решениями:

Быстрые арифметические операции
Здравствуйте. Я знаю, что в си++ есть понятие быстрых арифметических операций (не могу вспомнить термин). Т.е. не нужно писать i = i +1,...

Арифметические операции, сумма ряда
Исправить и объяснить Прошу о помощи. Первая задача, выводит неверный результат: #include &lt;iostream&gt; using namespace...

Арифметические операции с двоичными числами
Вопрос такой. Вот задание: Двоичные числа (разбор строки, формирование строки, операции сложения, вычитания, разные варианты вывода...

Арифметические операции в консольном приложении
program Project5; {$APPTYPE CONSOLE} uses SysUtils; Label 1; Var a,b,c,E,Fa,Fb,Fc:real; Lich:Integer;


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru