C++ 实现复数 ADT 及应用示例
'ADT COMPLEX' 内容:
#include
struct Complex { float realPart; // 实部 float imagPart; // 虚部 };
Complex Create(float x, float 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; }
float GetRealPart(Complex z) { return z.realPart; }
float 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;
return 0;
}
原文地址: https://www.cveoy.top/t/topic/m5ns 著作权归作者所有。请勿转载和采集!