Объясните код по строчно пожалуйста

задание:В стрельбе из лука состязается n спортсменов. Каждый из них сделал m
выстрелов. За каждый бросок можно набрать от 0 до 10 баллов. Найдите
победителя, если побеждает тот, у которого максимален наилучший
выстрел. Если таких несколько, то из них побеждает тот, у которого
наилучшая сумма баллов по всем попыткам. Если и таких несколько, то они делят призовое место. Определите номера победителей соревнований.

#include <iostream>

include <cstdlib>

include <ctime>

using namespace std;

void menu();
void results(int n, int n1, int a, int b);
void winners(int
n, int a);

int main()
{
setlocale(LC_ALL, «Russian»);
int n, m, key = 1;
menu();
cout << «введите число: »; cin >> key;
srand(time(NULL));
do
switch (key)
{
case 1:
n = rand() % 45;
m = rand() % 11;
break;
case 2:
cout << «кол-во стрелков — »; cin >> n;
cout << «\nкол-во выстрелов — »; cin >> m;
break;
case 0:
cout << «BB\n»;
break;
default:
cout << «Ошибка!\n»;
break;
}
while (n == 0 || m == 0 || n == 1 || m == 1);
cout << «Кол-во стрелков: » << n << «\nКол-во выстрелов: » << m << endl;
int* a;
a = new int
[n];

for (int i = 0; i < n; i++)
{
    a[i] = new int[m];
}

for (int i = 0; i < n; i++)
{
    for (int j = 0; j < m; j++)
    {
        a[i][j] = rand() % 11;
    }
}

for (int i = 0; i < n; i++)
{
    for (int j = 0; j < m; j++)
    {
        printf("%5d", a[i][j]);
    }
    cout << endl;
}

int* res;
res = new int[n];
results(a, res, n, m);
winners(res, n);
return 0;

}

void menu()
{

cout << "1 - рандомное заполнение\n";
cout << "2 - ручное заполнение\n";
cout << "0 - выход\n";

}

void results(int* n, int n1, int a, int b)
{
int s;
for (int i = 0; i < a; i++)
{
s = 0;
for (int j = 0; j < b; j++)
s += n[i][j];
n1[i] = s;
}
cout << «\nРезультаты:\n»;
for (int i = 0, j = 1; i < a; i++, j++)
{
cout << «Стрелок № » << j << « имеет результат — » << n1[i] << endl;
}
}

void winners(int* n, int a)
{
int max, maxI;
max = n[0];
for (int i = 0; i < a; i++)
{
if (n[i] > max)
max = n[i];
}
cout << endl << «Наилучший результат: » << max << «\nПобедитель — »;
for (int i = 0; i < a; i++)
{
if (n[i] == max)
{
cout << «Стрелок № » << i + 1 << endl;
}
}
}

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.