以下のプログラムにコメントを書くとしたらどのように書いたらよいでしょうか?
途中からですがお願いします。
#include<stdio.h>
#include<math.h>
int PutData(int x[3],int mode);
int matrix_mul(double a[3][3],double b[3],double c[3]);
int main()
{
double vb[3];
double a[3][3];
double wh[3];
double adj[3]={0.682,0.682,0.682};
double Rb=80.0,Rw=24.0;
int x[3];
int tm=0;
int i;
a[0][0]=1.0; a[0][1]=0.0; a[0][2]=Rb; a[1][0]=-0.5; a[1][1]=sqrt(3.0)/2.0; a[1][2]=Rb; a[2][0]=-0.5; a[2][1]=-sqrt(3.0)/2.0; a[2][2]=Rb; for(tm=0;tm<1000;tm++) { vb[0]=200.0; vb[1]=0.0; vb[2]=0.0; matrix_mul(a,vb,wh); for(i=0;i<3;i++) { x[i]=(int)(adj[i]*wh[i]/Rw); } if(PutData(x,1)<0) break; } return 0;
}
int matrix_mul(double a[3][3], double b[3], double c[3])
{
int i,j;
for(i=0;i<3;i++) { c[i] = 0.0; for(j=0;j<3;j++) { c[i] = c[i]+a[i][j]*b[j]; } } return 0;
}
//.dw 0b0CCCCCBBBBBAAAAA
int PutData(int x[3],int mode)
{
int i,j,buf;
char bin[6];
for(i=0;i<3;i++) { if(x[i]>15 || x[i]<-15) { printf("DATA ERROR! x[%d]=%d\n",i,x[i]); return -1; } }
if(mode!=0)
{
printf("\t.dw\t0b0");
for(i=2;i>=0;i--)
{
if(x[i]>=0) buf=x[i];
else buf=32+x[i];
for(j=0;j<5;j++)
{
bin[4-j]=buf%2+'0';
buf/=2;
}
bin[5]=0;
printf("%s",bin);
}
printf("\n");
}
else
{
printf("%d,%d,%d\n",x[0],x[1],x[2]);
}
return 0;
}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。