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

Создание шаблона однонаправленный список

26.02.2018, 16:31. Просмотров 1478. Ответов 12
Метки (Все метки)

Ответ

Цитата Сообщение от silent_1991 Посмотреть сообщение
если что не понятно будет, спрашивайте - отвечу))
Здравствуйте! Не могли бы вы помочь мне включить в мой код объект-однонаправленный список комплексных чисел, в котором определены операции, ++ - добавляет в конец списка, -- удаляет элемент из списка (как постфиксными так префиксными).
#include <iostream>
#include <cstring>
#include <cmath>
#include <cstdlib>
using namespace std;
class Complex{
double re;
double im;
public:
Complex():re(0),im(0){}
Complex(double r);
Complex(double r, double i) { re = r; im = i; };
~Complex() {};
Complex operator +( const Complex &rhs );
Complex& operator +=( const Complex &rhs);
Complex operator -( const Complex &rhs );
Complex& operator -=( const Complex &rhs );
Complex operator *( const Complex &rhs );
Complex& operator *=( const Complex &rhs );
Complex operator /( const Complex &rhs );
Complex& operator/= ( const Complex &rhs );
bool operator ==( const Complex rhs );
bool operator !=( const Complex rhs );
bool operator >( const Complex rhs );
bool operator <( const Complex rhs );
void Show();
double mod(){
return sqrt(re*re+im*im);
}
};
Complex Complex :: operator+ (const Complex &rhs )
{
Complex newComplex(this->re + rhs.re, this->im + rhs.im);
return newComplex;
}
Complex Complex :: operator- (const Complex &rhs){
Complex newComplex(this->re - rhs.re, this->im - rhs.im);
return newComplex;
}
Complex Complex::operator* (const Complex &rhs ){
Complex newComplex(this->re * rhs.re - this->im * rhs.im,this->re * rhs.im + this->im * rhs.re );
return newComplex;
}
Complex Complex :: operator/ (const Complex &rhs ){
double a,b,c;
a = rhs.re * rhs.re + rhs.im * rhs.im;
b = (re * rhs.re + im * rhs.im);
c = (rhs.re * im - re * rhs.im);
return Complex(a+b,c);
}
Complex &Complex :: operator+= (const Complex &rhs ){
*this = *this + rhs;
return *this;
}
Complex &Complex :: operator-= (const Complex &rhs ){
*this = *this - rhs;
return *this;
}
Complex &Complex :: operator*= (const Complex &rhs ){
*this = (*this) * rhs;
return *this;
}
Complex& Complex::operator/= ( const Complex &rhs )
{
*this = (*this) / rhs;
return *this;
}
bool Complex::operator== ( const Complex rhs ){
return this->re == rhs.re && this->im == rhs.im;
}
bool Complex::operator!= (const Complex rhs){
return this->re != rhs.re && this->im == rhs.im;
}
bool Complex::operator> (Complex rhs){
return ( this->mod()>rhs.mod() );
}
bool Complex::operator< (Complex rhs){
return ( this->mod()<rhs.mod() );
}
void Complex::Show()
{
cout << re << "+i" << im << endl;
}
int main()
{
Complex a(7.0,6.0),b(2.0,4.0),c,r;
c=a+b;
c.Show();
double n=1.04;
r=a*Complex(n,0);
r.Show();
system("PAUSE");
return 0;
}

Вернуться к обсуждению:
Создание шаблона однонаправленный список
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2018, 16:31
Готовые ответы и решения:

Добавить в список элемент после элемента с заданным инф.полем [Однонаправленный список]
Вообщем есть: Функция создание списка Функции вывода на экран Функция...

однонаправленный список
попалась веселая задачка. &quot;построить функцию преобразующую заданный...

однонаправленный список
чем отличаеться point *p; p=new(point); от p=new point; ???

Однонаправленный список
Доброго времени суток! Помогите поправить программу(Однонаправленный список,...

однонаправленный список
Ребятушки милые мои :) Помогите решить задачу !!! Даны натуральное число n...

12
Другие темы раздела
C++ Как повторить программу http://www.cyberforum.ru/cpp-beginners/thread324691.html
Как сделать чтоб если я с клавиатуры в консоли введу "y" программа повторилась а если "n" то завершилась?
C++ перепишите на C++ пожалуйста Перепешите пожалуйста на С/С++. uses crt; var a:array of integer; n,i:integer; begin writeln('Введите любые числа от -10 до 10'); read(n); for i:=-10 to n do read(a); if a>0 then... http://www.cyberforum.ru/cpp-beginners/thread324690.html
C++ гаус над диагональю
Как сделать Нули над главной диагональю? Где ошибка. #include <iostream.h> #include<stdio.h> #include <conio.h> #include <math.h> const int n=3; double y; double par,s,r; int i,j,ii,k,jj,t=1;
Удалить и переименовать фаил C++
Уважаемые форумчане,подскажите как можно удалить и переименовать фаил?
C++ www-http сниффер. Как отследить HTTP запросы? http://www.cyberforum.ru/cpp-beginners/thread324660.html
Посмотрел я вот эту статью: http://www.cyberguru.ru/cpp-sources/network/primer-prostejshego-sniffera-dlya-windows-2000/xp.html Возникает вопрос: Как отследить HTTP запросы? Посоветуйте, что...
C++ заданно матрицу смежности простого графа. Построить каркас этого графа с использованием поиска вширь Задание: заданно матрицу смежности простого графа. Построить каркас этого графа с использованием поиска вширь. Помогите написать программу! Именуйте темы осмысленно! Название темы должно... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru