Я пишу программу, состоящую из функции, которая принимает 2d-массив, c0unts evens в массиве и возвращает количество эвенов в этом массиве. Функция не возвращает значение, которое я намереваюсь его, которое 6. Иногда я получаю 0, иногда я получаю номер, как 2147483646.Поиск эвенов в массиве
#include <iostream>
#include <array>
using namespace std;
const int MaxNumOfRows = 3;
const int MaxNumOfColumns = 2;
int Even(int A[MaxNumOfRows][MaxNumOfColumns], int length, int width)
{
int NumnberOfEvens = 0;
int i;
int j;
for (i = 0; i < length; length++)
{
for (j = 0; j < width; width++)
{
if (A[i][j] % 2 == 0)
{
NumnberOfEvens++;
}
}
}
return NumnberOfEvens;
}
int main()
{
//int output = 0;
int A[MaxNumOfRows][MaxNumOfColumns] =
{
{2,2},{2,4},{2,2}
};
Even(A, MaxNumOfRows, MaxNumOfColumns);
//output = Even(A, MaxNumOfRows, MaxNumOfColumns);
cout << Even(A, MaxNumOfRows, MaxNumOfColumns) << endl;
system("pause");
return 0;
}
Правильный инструмент для решения таких проблем - ваш отладчик. Вы должны пропустить свой код по очереди, прежде чем спрашивать о переполнении стека. Для получения дополнительной информации, пожалуйста, прочтите [Как отлаживать небольшие программы (Эрик Липперт)] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/). Как минимум, вы должны [изменить] свой вопрос, чтобы включить [mcve], который воспроизводит вашу проблему, а также замечания, сделанные вами в отладчике. Я проголосовал за то, чтобы закрыть это как типографскую ошибку – Tas