C/C++

Задача по C++, анализ данных в двумерном массиве

На участке работало 5 кранов. по нормативам кран должен перегрузить за смену количество груза равное P, а за сутки-количества Q. количество перегруженного груза представлено матрицейGi,j,i=1..3,j=1...5.Определить: a)номер крана перегрузившего наибольшее количество груза; b)номер крана перегрузившего наименьшее количество груза; c)номера кранов, перегрузивших больше сменного норматива в в каждой из смен; d)номера кранов, которые выполняли норматив P каждую смену. Если таких нет то напечатать сообщение об этом.
В задании немного не ясно, каким образом формируется массив, поэтому задал его прямо в программе, числа меняете сами.
В данной логике кран перевыполнивший норматив не считается выполнившим его (ибо спорный момент :)

#include < iostream >
using namespace std;

int main()
{
setlocale(0, "");
int arr[3][5] // [смена] [кран]
{
{5,3,3,6,1},
{4,2,3,1,1},
{3,5,3,6,1}
};

int p = 3; //норматив за смену
int q = 9; //норматив за сутки
int max = 0, num = 0 ;
int min = 0, numm = 0;
int cont = 0, contp = 0;

for (int kran = 0; kran < 5; kran++)
{
int person = 0;
int check = 0;
int checkp = 0;
for (int smen = 0; smen < 3; smen++)
{
person += arr[smen][kran];
if (arr[smen][kran] == p) check++;
if (arr[smen][kran] > p) checkp++;
}
if (person > max) { max = person; num = kran; }
if (kran == 0) { min = person; numm = kran; }
else
if (person < min) { min = person; numm = kran; }
if (check == 3 && checkp != 3)
{
cout << "Кран N " << kran + 1 << " вложился в норматив" << endl;
cont++;
}
if (checkp == 3) { cout << "Кран N " << kran + 1 << " перевыполнил норматив" << endl; contp++; }
}

if (cont == 0) cout << "Не было кранов, вложившихся в норматив в течении всех смен" << endl;
if (contp == 0) cout << "Не было кранов, перевыполнивших норматив в течении всех смен" << endl;

cout << "Кран рекордсмен номер " << num + 1 << " с результатом: " << max << " Тонн" << endl;
cout << "Кран на металлолом номер " << numm + 1 << " c антирекордом: " << min << " Тонн" << endl;
}
Евгений Xxx
Евгений Xxx
51 411
Лучший ответ