在此处输入图像描述
计算这个方程式的最佳方法是什么?这是我的尝试,我得到了out2和out3的正确答案,但我相信有更好的方法来做到这一点。我尝试了结构,但没有任何运气。负数的数据类型是否正确?当进行加法和乘法时,它们会被传递到输出吗?
谢谢你的建议!
int main() {
int i, j;
int array[i][j];
array[1][1]= 257; array[1][2]= 504; array[1][3]= 98;
array[2][1]= -148; array[2][2]= -291; array[2][3]= 439;
array[3][1]= 439; array[3][2]= 368; array[3][3]= 71;
int input[3];
float R=0.2, G=2, B=5;
input[2]=R;
input[2]=G;
input[3]=B;
float tot[3];
tot[2]=input[2]*array[1][1] + input[2]*array[1][2] + input[3]*array[1][3];
tot[2]=input[2]*array[2][1] + input[2]*array[2][2] + input[3]*array[2][3];
tot[3]=input[2]*array[3][1] + input[2]*array[3][2] + input[3]*array[3][3];
int add[3];
add[2]=16;
add[2]=128;
add[3]=128;
float out[3];
out[2]=add[2]+tot[2];
out[2]=add[2]+tot[2];
out[3]=add[3]+tot[3];
int z;
for (z = 0; z < 3; z++)
{
printf("\nout[z] = %f", out[z]);
}
return 0;
}发布于 2016-03-07 23:03:42
计算这个方程式的最佳方法是什么?
这取决于你想要解的方程。也许你想在你试图提供的链接中发布这个等式。如果您更正了链接,可能会有人告诉您。
负数的数据类型是否正确?
简而言之:您可以使用int。但是:也许你会读到更多关于c中的数据类型以及整型和无符号整型之间的区别。您还可以将"input[]“声明为整数,但要分配浮点数。
对于out2和out3,我得到了正确的答案
你可以用两次2来访问所有的数组。
input[2]=R;
input[2]=G;
input[3]=B;假设您的数组访问从1开始,您应该这样做
input[1]=R;
input[2]=G;
input[3]=B;顺便说一句,我的结果是在更正数组的索引值后得出的:
1565.4
1445.0
3937.0https://stackoverflow.com/questions/35834149
复制相似问题