好吧,我真的认为我在想这个,但是我已经编程了48个小时,我的脑海消失了。背景信息:使用Visual Studio 2010,使用C++创建控制台应用程序。我遇到了一些逻辑问题,并陷入以下内容:如何通过包含3个值的2D数组运行并检查值?
我有一个2维8 x 8阵列,矩阵[8] [8]。该数组包含0,1和2。现在随着程序执行,数组用1代替1或2。所以当它运行时,我想要检查一下数组是否已经删除了全部1或2。因此,如果只有0和1,我想表达一个类似“你的数组不再包含2”的消息,反之亦然,如果只有0和2的话。
下面是一些代码我在想使用的:
for(row = 0; row < 8; row++)
{
for (col = 0; col < 8; col++)
{
if(matrix[row][col] != 1){
cout<<"message"<<endl; }
else if(matrix[row][col] != 2){
cout<<"message"<<endl; }
}
}
现在我的这个问题是,如果该数组包含[0,1,2,0],将运行通过,并检查所述第一元件,它不会包含1或2个。关于我能做些什么的一些想法?
提示一束:总结你的矩阵中的一类,使用迭代这个类,矩阵[COL *行]更有效。如果你这样做解决你的问题是一个简单的'fold'或'accumulate'(用C++术语)。 这也让你的思想免于“消失”。 – pmr 2011-04-23 22:15:18
感谢您的意见 – tehman 2011-04-23 22:34:56