#include typedef struct {double re, im;} cplx; cplx csum (cplx a, cplx b) // Complex sum { cplx sum; sum.re = a.re + b.re; sum.im = a.im + b.im; return sum; } cplx cdif (cplx a, cplx b) // Complex difference { cplx difference; difference.re = a.re - b.re; difference.im = a.im - b.im; return difference; } cplx cprod (cplx a, cplx b) // Complex product { cplx product; product.re = (a.re * b.re) - (a.im * b.im); product.im = (a.im * b.re) + (a.re * b.im); return product; } cplx cquo (cplx a, cplx b) // Complex quotient { cplx quotient; quotient.re = ((a.re * b.re)+(a.im * b.im)) / ((b.re*b.re)+(b.im*b.im)); quotient.im = ((a.im * b.re)-(a.re * b.im)) / ((b.re*b.re)+(b.im*b.im)); return quotient; }