我的程序似乎有一些问题。它编译得很好,但是当我进入第一个循环时,它要求我输入一个正整数,而不是像它假设的那样再次要求我。比它跳下一个空白空间并且不会继续运行,直到你输入另一个它不应该做的数字。但是,当您输入一个数字时,它会返回并要求我输入一个整数,就像它对问题的假设一样,它会无限次执行此操作,直到我退出程序。关于为什么会发生这种情况的任何建议?
/* Search the entries of the n X n matrix mat in rowwise order for an entry to item */
#include <iostream>
using namespace std;
int main(void)
{
int n=10, item, row=3, col=3, mat[row][col];
bool found;
for (int row = 0; row < 3; row++)
for (int col = 0; col < 3; col++)
{
cout << "Enter Positive Integer : ";
cin >> row;
cout << " Enter Positive Integer : ";
cin >> mat[row][col];
}
cout << "Enter a positive integer you want to be searched: ";
cin >> item;
for(int i=0; i<row; ++i)
{
for(int j=0; j<col; ++j)
{
if(mat[row][col] == item)
found = true;
else
found = false;
}
}
if(found==true)
cout << "item found" ;
else
cout << "item found ";
return 0;
}