2013-11-15 3 views
0

Я только начинаю с C++, и вот проблема, с которой я сталкиваюсь. Мне нужно написать программу, которая создаст 2d-массив, а затем позволит пользователю вводить число, оттуда мне нужно подсчитать и перечислить все числа в этом массиве, которые равномерно делятся на пользовательский ввод. Я еще не начал часть кода, но проблема, с которой я сталкиваюсь, заключается в том, что функция подсчета, которую я пытаюсь использовать, делит на ноль, поэтому она не будет работать. Вот то, что я до сих пор, и любая помощь будет принята с благодарностьюПодсчет чисел делимых в массиве на основе ввода пользователем

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.

Смежные вопросы