![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 25.05.2012
Сообщений: 4
|
![]()
Здравствуйте, вообщем поставлена задача: Реализовать классы и операции для работы с обьектами классов
(Комплексное число задано своим модулем и аргументом). Реализовать: 1)сложение(вычитание) 2)деление 3)умножение 4)возведение в целую степень 5)извлечение корня Пожалуйста помогите! доработать (проверить на ошибки) имеющиеся наработки по первым трем пунктам, а также разобраться в 4 и 5, что то они вообще никак не получаются... |
![]() |
![]() |
![]() |
#2 |
Регистрация: 25.05.2012
Сообщений: 4
|
![]()
Собственно вот моя реализация сложения:
#include<stdio.h> #include<math.h> #include <time.h> #include<iostream> #include<conio.h> #include<stdlib.h> #include<locale.h> using namespace std; class complex { private: double r; double m; public: void set (double a, double b); void print(); complex operator + (complex b); complex operator - (complex b); double getr(); double getm(); }; void complex:: print () { cout«"("«r«","«m«")"«endl; } void complex::set(double a, double b){ r=a; //r - аргумент m=b; //m - модуль } double complex::getr(){ return r; } double complex::getm(){ return m; } complex complex:: operator +(complex b){ complex c; double g,k; g=cos(r)/m+cos(b.getr())/(b.getm()); g=cos(r)/m+cos(b.getr())/(b.getm()); k=sin(r)/m+sin(b.getr())/(b.getm()); c.set(g,k); return c; int main() { complex a,b,c; a.set(1,6); b.set(0,7); c=a+b; c.print (); } |
![]() |
![]() |
![]() |
#3 |
Регистрация: 25.05.2012
Сообщений: 4
|
![]()
На вычитание соответсв. вот
complex complex:: operator -(complex b){ complex c; double g,k; g=cos(r)*m-cos(b.getr())*(b.getm()); k=sin(r)*m-sin(b.getr())*(b.getm()); c.set(g,k); return c; } . . . . . . c=a-b; c.print(); |
![]() |
![]() |
![]() |
#4 |
Регистрация: 25.05.2012
Сообщений: 4
|
![]()
Ну и деление:
complex complex:: operator /(complex b){ complex c; double g,k; g=(cos(r-b.getr())*(m/b.getm())); k=(sin(r-b.getr())*(m/b.getm())); c.set(g,k); return c; } . . . . . . . c=a/b; c.print(); Последний раз редактировалось rapman85; 30.05.2012 в 21:29. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание класса для работы с дробными числами.Язык Си++. | Salatiq | Помощь студентам | 0 | 17.05.2012 16:52 |
переопределение операций (комплексные числа) | collider | Общие вопросы C/C++ | 2 | 11.04.2012 11:44 |
С++. Создание класса для работы с реестром Windows | Dead Romantic | Помощь студентам | 0 | 17.05.2011 16:37 |
Перегрузка операций для класса дробей | Fataller | Общие вопросы C/C++ | 4 | 29.05.2010 18:08 |
С++ перегрузка операций для шаблонного класса | TIN | Помощь студентам | 7 | 29.03.2009 15:24 |