• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите пожалуйста составить программу

  • Автор темы Автор темы Feosha
  • Дата начала Дата начала

Feosha

Ученик
Регистрация
7 Ноя 2010
Сообщения
1
Реакции
0
Баллы
0
Помогите пожалуйста составить программу

Помогите пожалуйста составить программу
Объявите класс Complex, создающий тип – комплексное число.
Элементы – данные класса – мнимая и действительная части комплексного числа.
Предусмотрите конструкторы класса:
- по умолчанию (инициализирующий элементы – данные нулевыми значениями);
- получающий параметры и инициализирующий элементы – данные передаваемыми конструктору значениями;
- копирования.
Напишите функции – методы класса для:
- ввода комплексного числа в диалоговом режиме;
- вывода комплексного числа;
- выполнения сравнения на равенство и суммирования комплексных чисел.
Напишите программу, в которой создайте обьекты типа Complex и выполните над ними действия, предусмотренные методами класса.
 
как то вот так




#include "header1.h"


class Complex {
double real,image;
public:
friend ostream& operator <<(ostream& a,Complex& b);

friend istream& operator >>(istream& a,Complex& b);
friend Complex operator *(Complex a,Complex b);
friend Complex operator /(Complex a,Complex b);
friend Complex operator -(Complex a,Complex b);

Complex() {real=image=0;}

Complex(double Re,double Im) {
real=Re;
image=Im;
}
Complex(double a) {
real=a;
image=0;
}
double Re() {
return real;
}
double Im() {
return image;
}
};

Complex operator -(Complex a,Complex b)
{
return Complex(a.real-b.real,a.image-b.image);
}


ostream& operator <<(ostream& a,Complex& b)
{
return a<<"{Real:"<<b.real<<",Image:"<<b.image<<"}";
}

Complex operator *(Complex a,Complex b)
{
Complex c(a.real*b.real- a.image*b.image,a.real*b.image+a.image*b.real);
return c;
}
Complex operator /(Complex a,Complex b)
{
Complex c((a.real*b.real+a.image*b.image)/(b.real*b.real+b.image*b.image),
(a.image*b.real-a.real*b.image)/(b.real*b.real+b.image*b.image));
return c;
}


istream& operator >>(istream& a,Complex& b)
{
cout<<"realnaja chast: ";
a>>b.real;
cout<<"mnimaja chast: ";
a>>b.image;
return a;
}


Complex tanh(Complex& a)
{

double sin1=sinh(2*a.Re());
double cos1=cosh(2*a.Re());
Complex s(sin1/(cos(2*a.Im())+cos1),sin(2*a.Im() )/(cos1+cos(2*a.Im())));

return s;
}

Complex fun(Complex& z) {

Complex result=1-z*z-tanh(z/2);
return result;
}




complex <double> fun1(complex <double> z)
{

return complex <double>(1)-z*z-tanh(z/complex <double>(2));
}


void itog() {
cout<<"\n\tx\t\tf(x)";
for(double i=-1;i<=1;i+=0.5)
{
complex <double> rez(i,i);
cout<<"\n\t"<<rez<<"\t"<<fun1(rez);
}
}
void itogg() {
cout<<"\n\tx\tf(x)";
for(double i=-1;i<=1;i+=0.5)
{
Complex rez(i,i);
cout<<"\n\t"<<rez<<"\t"<<fun(rez);
}
}

void srav(Complex& a,complex <double>& b) {
cout<<fun(a)<<endl;
cout<<fun1(b)<<endl;
}

void main() {
Complex a(2,3);

complex <double>A(2,3);
int c=0;
do {

cout<<"vvedite nomer deistvia";
cin>>c;
switch(c) {
case 1: cout<<"1. Itog comblex";
itog();
break;
case 2: cout<<"2. Itog COMPLEX";
itogg();
break;
case 3:
cout<<"3. Sravnenie rezultata";
cout<<"Vvedi complex chislo: "<<endl;
cin>>a;
A=complex <double>(a.Re(),a.Im() );
srav(a,A);
break;
}
if (c<=3)
getch();
} while(c<='3');
system("pause");
}
 
Назад
Сверху