개발 공부/C언어
[열혈 C 프로그래밍] 도전! 프로그래밍4, 도전3번 정답
반달bear
2022. 7. 30. 15:40
반응형
구조체 포인터 배열을 선언하고 동적 할당하여 좀더 데이터를 효율적으로 써보고자...(?) 노력하는 코드를 작성해보았다.
#include<stdio.h>
#include<stdlib.h>
typedef struct complex{
float comnum1;
float comnum2;
} Complex;
void AddComplexNumber(Complex * comnum)
{
double real=comnum[0].comnum1+comnum[1].comnum1;
double image=comnum[0].comnum2+comnum[1].comnum2;
printf("added real number : %g, added imagenary number : %g\n",real,image);
}
void MulComplexNumber(Complex * comnum)
{
double real=((comnum[0].comnum1*comnum[1].comnum1) - (real=comnum[0].comnum2*comnum[1].comnum2));
double image=((comnum[0].comnum2*comnum[1].comnum1) + (comnum[0].comnum1*comnum[1].comnum2));
printf("multiplied real number : %g, multiplied imagenary number : %g\n",real,image);
}
int main(void)
{
int index=2; //the number of complex number
Complex * comnum = (Complex*)malloc(sizeof(Complex)*index);
fputs("enter first complex number : (real number first, imaginary number second",stdout);
scanf("%f %f",&comnum[0].comnum1,&comnum[0].comnum2);
fputs("enter second complex number : (real number first, imaginary number second",stdout);
scanf("%f %f",&comnum[1].comnum1,&comnum[1].comnum2);
AddComplexNumber(comnum);
MulComplexNumber(comnum);
free(comnum);
return 0;
}
반응형