Text: |
ФІО = Руденко Віктор
Запитання:#include<iostream>
#include<math.h>
using namespace std;
class Complex
{
double real;
double image;
public:
Complex () {};
Complex (double r) { real = r; image = 0; }
Complex(double r, double i) { real = r, image = i; }
~Complex () {}
Complex operator*(Complex &);
//friend ostream &operator<<(ostream &, Complex &);
friend istream &operator>>(istream &, Complex &);
Complex Complex::operator*(Complex &fp1)// ту ошибку выдает
{
double i, j;
i = real * fp1.real - image * fp1.image;
j = real * fp1.image + fp1.real * image;
fp1.real = i;
fp1.image = j;
return fp1;
}
istream &operator>>(istream &fi, Complex &fp)
{
cout << "Input real part of number: ";
fi >> fp.real;
cout << "Input image part of number: ";
fi >> fp.image;
return fi;
};
void main()
{
Complex c1, c2;
cin >> c1;
cin >> c2;
cout << "c1 = " << c1;
cout << "c2 = " << c2;
cout << "c1 * c2 = " << (c1 * c2);
system ("PAUSE");
return 0;
}
короче нужно создать клас для комплексных чисел+ функцию которая будет делать умножения 1 комплексного на другое.. я вот написал.. но оно не хочет работать.. зарание спасибо...
====================================
ANSWER ====================================
#include<iostream>
#include<math.h>
using namespace std;
class Complex
{
double real;
double image;
public:
Complex () {}
Complex (double r) { real = r; image = 0; }
Complex(double r, double i) { real = r, image = i; }
void Enter(){
cout<<"Enter real = "; cin>>real;
cout<<"Enter image = "; cin>>image;
}
void Show(){
cout<<" Real = "<<real<<" ; image = "<<image<<endl;
}
Complex Complex :: operator + (Complex b){
Complex temp;
temp.real=real+b.real;
temp.image=image+b.image;
return temp;
}
Complex Complex :: operator - (Complex b){
Complex temp;
temp.real=real-b.real;
temp.image=image-b.image;
return temp;
}
Complex Complex :: operator * (Complex b){
Complex temp;
temp.real=real*b.real-image*b.image;
temp.image=real*b.image+image*b.real;
return temp;
}
};
int main()
{
Complex c1, c2, c3;
c1.Enter();
c2.Enter();
c1.Show();
c2.Show();
cout<<endl;
cout<<endl;
c3=c1+c2;
c3.Show();
c3=c1-c2;
c3.Show();
c3=c1*c2;
c3.Show();
c3=c1/c2;
c3.Show();
system ("PAUSE");
return 0;
}
/*
короче нужно создать клас для комплексных чисел+ функцию которая будет делать умножения 1 комплексного на другое.. я вот написал.. но оно не хочет работать.. зарание спасибо...
Гобаченко В.А. Для деления напишешь сам по аналогии, проверь результаты вычислений
073511052011
====================================
*/
END of ANSWER ====================================
|