现在我得到一个5维矩阵,其中M [j] [i] [l] [ref] [0] ...
在这个矩阵中,j,i属于0〜4,而l = 0。 ref的范围是0到4。
我只想根据ref的值计算数量。
例如,
如果ref = 0,我将做count0 ++,
如果ref = 1,则count1 ++,
如果ref = 2,则为count2 ++
...
因此,我不在乎M的值是多少,我只想知道具有不同ref值的出现频率。
谢谢。
最佳答案
您不清楚要做什么取决于M的实际内容,我想这包含要添加到个人计数中的某种变量计数吗?
在这种情况下,这样的事情怎么样:
int j, i, ref;
int counts[5];
for(ref=0; ref<5; ref++)
counts[ref]=0;
for(j=0; j<4; j++)
for(i=0; i<5; i++)
for(ref=0; ref<5; ref++)
counts[ref]+=M[j][i][0][ref][0];
(我已经用数组替换了您单独的“ count”变量,这使事情变得容易得多。)
编辑:我只是看到您不在乎M的内容。在那种情况下,我不太了解您要做什么。由于尺寸是恒定的,因此对于
ref
的某个值存在的条目数始终是恒定的,并且对于所有ref
都始终相同-在这种情况下为5 * 5 = 25,因为您有五个沿着j和i维度的每个条目。如果这不是您想要的,请进行说明。
关于c - 一个基于维度内容之一的简单c矩阵计数问题。[C语言],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2144986/