Initial commit
This commit is contained in:
commit
bdf71aef37
120 files changed
+8284
No files matched your search
@@ -0,0 +1,66 @@
|
||||
#include <bits/stdc++.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
class Complex {
|
||||
private:
|
||||
double real;
|
||||
double imag;
|
||||
|
||||
public:
|
||||
Complex(double r = 0.0, double i = 0.0) : real(r), imag(i) {}
|
||||
|
||||
bool operator==(const Complex &c) const {
|
||||
return real == c.real && imag == c.imag;
|
||||
}
|
||||
|
||||
double operator!() const {
|
||||
return sqrt(real * real + imag * imag);
|
||||
}
|
||||
|
||||
Complex operator~() const {
|
||||
return Complex(real, -imag);
|
||||
}
|
||||
|
||||
friend istream &operator>>(istream &input, Complex &c) {
|
||||
string si;
|
||||
input >> si;
|
||||
stringstream i(si);
|
||||
char sign;
|
||||
i >> c.real >> sign >> c.imag;
|
||||
if (sign == '-')
|
||||
c.imag = -c.imag;
|
||||
return input;
|
||||
}
|
||||
|
||||
friend ostream &operator<<(ostream &output, const Complex &c) {
|
||||
if (c.imag > 0)
|
||||
output << c.real << " + " << c.imag << "i";
|
||||
else if (c.imag < 0)
|
||||
output << c.real << " - " << -c.imag << "i";
|
||||
else
|
||||
output << c.real;
|
||||
return output;
|
||||
}
|
||||
};
|
||||
|
||||
int main() {
|
||||
Complex c1;
|
||||
Complex c2;
|
||||
cout << "c1 = ";
|
||||
cin >> c1;
|
||||
cout << "c2 =";
|
||||
cin >> c2;
|
||||
cout << "|c1| = " << !c1 << endl;
|
||||
cout << "|c2| = " << !c2 << endl;
|
||||
cout << "~c1 = " << ~c1 << endl;
|
||||
cout << "~c2 = " << ~c2 << endl;
|
||||
if (c1 == c2) {
|
||||
cout << "c1 == c2" << endl;
|
||||
}
|
||||
else {
|
||||
cout << "c1 != c2" << endl;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in new issue
Block a user