我刚刚开始使用C ++,这就是我遇到的问题。我需要编写一个程序来创建一个二维数组,然后允许用户输入一个数字,从那里我需要计算并列出该数组中可被用户输入整除的所有数字。我还没有启动代码的列表部分,但我遇到的问题是我尝试使用的计数功能除以零,因此它不会运行。这是我到目前为止所提供的任何帮助将非常感谢
void fillArray(int ar [][10], int size);
void printArray(int ar [][10], int size);
int getDivisible (int a [][10], int size, int num);
int main()
{
srand((unsigned int) time(0));
int ar[10][10];
int count = 0;
fillArray(ar, 10);
printArray(ar, 10);
int num;
cout << "Enter a number to divide by" << endl;
cin >> num;
getDivisible(ar, 10, count);
cout << " There are " << count << " evenly divisible numbers. They are : " << endl;
cout << endl;
return 0;
}
void fillArray(int ar [][10], int size)
{
for (int row = 0; row < size; row++)
{
for (int col = 0; col < 10; col++)
{
ar[row][col] = rand() % 101;
}
}
}
void printArray(int ar [][10], int size)
{
for (int row = 0; row < size; row++)
{
for (int col = 0; col < 10; col++)
{
cout << ar[row][col] << "\t";
}
cout << endl;
}
}
int getDivisible(int ar [][10], int size, int num )
{
int count = 0;
for (int row = 0; row < size; row++)
{
for (int col = 0; col < 10; col++)
{
if ((ar[row][col]) % num == 0)
count++;
}
}
return count;
}
答案 0 :(得分:3)
getDivisible(ar, 10, count);
你不是故意在那里传递count
,是吗?
因为当你到达这里时,在getDivisible
函数:
if ((ar[row][col]) % num == 0)
这是一个问题,因为num
中的getDivisible
来自count
main
,0
。