C++ 实现复数抽象数据类型 (ADT COMPLEX) 及应用示例
'ADT COMPLEX' 内容:
#include
struct Complex { double realPart; // 实部 double imagPart; // 虚部 };
Complex Create(double x, double y) { Complex z; z.realPart = x; z.imagPart = y; return z; }
Complex Add(Complex z1, Complex z2) { Complex sum; sum.realPart = z1.realPart + z2.realPart; sum.imagPart = z1.imagPart + z2.imagPart; return sum; }
Complex Subtract(Complex z1, Complex z2) { Complex difference; difference.realPart = z1.realPart - z2.realPart; difference.imagPart = z1.imagPart - z2.imagPart; return difference; }
Complex Multiply(Complex z1, Complex z2) { Complex product; product.realPart = z1.realPart * z2.realPart - z1.imagPart * z2.imagPart; product.imagPart = z1.realPart * z2.imagPart + z2.realPart * z1.imagPart; return product; }
double GetRealPart(Complex z) { return z.realPart; }
double GetImagPart(Complex z) { return z.imagPart; }
int main() { Complex z1 = Create(1, 2); Complex z2 = Create(3, 4);
Complex sum = Add(z1, z2);
Complex difference = Subtract(z1, z2);
Complex product = Multiply(z1, z2);
cout << "Sum: " << sum.realPart << " + " << sum.imagPart << "i" << endl;
cout << "Difference: " << difference.realPart << " + " << difference.imagPart << "i" << endl;
cout << "Product: " << product.realPart << " + " << product.imagPart << "i" << endl;
double realPart = GetRealPart(z1);
double imagPart = GetImagPart(z1);
cout << "Real Part of z1: " << realPart << endl;
cout << "Imaginary Part of z1: " << imagPart << endl;
return 0;
}
原文地址: https://www.cveoy.top/t/topic/m5lT 著作权归作者所有。请勿转载和采集!