Folosind vectori de structură, să se calculeze pentru n numere complexe produsul lor. Vectorii se vor citi dintr-un fișier care va conține n elemente si pe fiecare rând partea reală și coeficientul părții imaginare a fiecărui număr complex.
formula produsul număr complex: (a+bi)(c+di)=(ac-bd)+(ad+bc)*i
spre exemplu, n=3 atunci z1=1+3i; z2=4+5i; z3=5+6i;
z1*z2 = (1+3i)(4+5i) = (1*4-3*5)+(1*5+3*4)*i = (4-15) + (5+12)*i = -11+17i dupa care acel numar il inmultesc cu z3, (-11+17i)(5+6i) = -157+19i și tot așa mai departe pentru n
Răspunsuri la întrebare
Răspuns de
4
#include <fstream>
using namespace std;
const int NMAX = 302;
struct COMPLEX
{
int r,c;
}x,y,aux;
int main()
{
ifstream in ("test.in");
ofstream out ("test.out");
int n;
in>>n;
in>>x.r>>x.c;
for(int i=2 ;i<=n;++i)
{
in>>y.r>>y.c;
aux.r = (x.r*y.r - x.c*y.c);
aux.c = (x.r*y.r + x.c*y.c);
x.r = aux.r;
x.c = aux.c;
}
out<<x.r<<"+"<<x.c<<"i";
return 0 ;
}
Daca vrei si testul din exemplu
3
1 3
4 5
5 6
using namespace std;
const int NMAX = 302;
struct COMPLEX
{
int r,c;
}x,y,aux;
int main()
{
ifstream in ("test.in");
ofstream out ("test.out");
int n;
in>>n;
in>>x.r>>x.c;
for(int i=2 ;i<=n;++i)
{
in>>y.r>>y.c;
aux.r = (x.r*y.r - x.c*y.c);
aux.c = (x.r*y.r + x.c*y.c);
x.r = aux.r;
x.c = aux.c;
}
out<<x.r<<"+"<<x.c<<"i";
return 0 ;
}
Daca vrei si testul din exemplu
3
1 3
4 5
5 6
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Engleza,
8 ani în urmă
Limba română,
9 ani în urmă
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă