[問題] 複數矩陣初始化方式
我想請問一下 我現在想要造一個複數2*2矩陣
所以我先用一個結構宣告 可是我後來初始化怎麼寫都不對
以下是我的程式碼
#include<stdio.h>
#include<math.h>
struct c_comp
{
double rmz;
double imz;
};
void comp_product(struct c_comp *a1,struct c_comp *a2,struct c_comp *c);
main()
{
struct c_comp a,b,c,d[2][2];
d[2][2].rmz={{0},{0}};
^^^^^^^^^^^^^^^^^^^^^^^^^^^ <---這邊顯示有錯,可是不清楚怎麼改?
a.rmz=2.0;
a.imz=1.0;
b.rmz=3.0;
b.imz=2.0;
comp_product(&a,&b,&c);
printf("result:\n");
printf("%.2lf+j%.2lf\n",c.rmz,c.imz);
}
void comp_product(struct c_comp *a1,struct c_comp *a2,struct c_comp *c)
{
double p,q,r;
p=a1->rmz*a2->rmz;
q=a1->imz*a2->imz;
r=(a1->rmz+a1->imz)*(a2->rmz+a2->imz);
c->rmz=p-q;
c->imz=r-p-q;
}
請問複數矩陣要怎麼初始化? ~"~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.116.121
→
06/02 21:04, , 1F
06/02 21:04, 1F
推
06/02 21:05, , 2F
06/02 21:05, 2F
→
06/02 21:47, , 3F
06/02 21:47, 3F
→
06/02 21:47, , 4F
06/02 21:47, 4F