[ create a new paste ] login | about

Link: http://codepad.org/Q5sx15YL    [ raw code | output | fork ]

C++, pasted on Dec 3:
 #include <stdio.h>

typedef struct complex complex;	

struct complex {
    double re;        
    double im;   
};

complex AddComplex(complex x, complex y);
complex SubComplex(complex x, complex y);
complex MulComplex(complex x, complex y);
complex DivComplex(complex x, complex y);
void ShowComplex(char varname[ ], complex x);
int main(void);

complex AddComplex(complex x, complex y)
{
    complex z;

    z.re = x.re + y.re;     
    z.im = x.im + y.im;  

    return (z);
}

complex SubComplex(complex x, complex y)
{
    complex z;

    z.re = x.re - y.re;    
    z.im = x.im - y.im;   

    return (z);
}

complex MulComplex(complex x, complex y)
{
    complex z;

	z.re = x.re * y.re - x.im * y.im;
    z.im = x.re * y.im + y.re * x.im;

    return (z);
}


complex DivComplex(complex x, complex y)
{
    complex z;

	z.re = (x.re*y.re + x.im*y.im) /((y.re*y.re) + (y.im*y.im));
    z.im = (x.im*y.re - x.re*y.im) /((y.re*y.re) + (y.im*y.im));

    return (z);
}

void ShowComplex(char varname[ ], complex x)
{
    printf("%s = %3.1lf + %3.1lfi\n\n", varname, x.re, x.im);
}

int main(void)
{
    complex x, y, z;
	double rx,ix,ry,iy;

	printf("x実数部分の値:");
    scanf("%lf",&rx);
	printf("x虚数部分の値:");
    scanf("%lf",&ix);

	printf("y実数部分の値:");
    scanf("%lf",&ry) ;
	printf("y虚数部分の値:");
    scanf("%lf",&iy) ;

    x.re = rx;
    x.im = ix;

    y.re = ry;
    y.im = iy;

    ShowComplex("x", x);
    ShowComplex("y", y);

    z = AddComplex(x, y);       
    ShowComplex("x + y", z);

	z = SubComplex(x, y);        
    ShowComplex("x - y", z);

    z = MulComplex(x, y);     
    ShowComplex("x * y", z);

	z = DivComplex(x, y);		
    ShowComplex("x / y", z);
}


Output:
1
2
Line 3: error: template argument required for 'struct complex'
compilation terminated due to -Wfatal-errors.


Create a new paste based on this one


Comments: