Задание
Результаты соревнований по прыжкам в длину представлены в виде матрицы 5х3 (5 спортсменов по 3 попытки у каждого). Указать, какой спортсмен и в какой попытке показал наилучший результат.
алгоритм
Итак, результаты соревнований представляем в виде двумерного массива. После заполнения матрицы, необходимо определить максимальное значение прыжка, т. е. нужно организовать поиск максимального значения в двумерном массиве
листинг кода
#include "stdafx.h"
#include "iostream"
using namespace std;
int main(int argc, char* argv[])
{
setlocale(LC_ALL, "rus");
const unsigned number_athletes = 5, // количество спортсменов
number_attempts = 3; // количество попыток
double result_array[number_athletes][number_attempts]; // массив результатов прыжков в длинну
cout << "Введите результаты соревнований:\n";
for (int counter_athletes = 0; counter_athletes < number_athletes; counter_athletes++)
{
cout << "для " << (counter_athletes + 1) << " спортсмена: ";
for (int counter_attempts = 0; counter_attempts < number_attempts; counter_attempts++)
cin >> result_array[counter_athletes][counter_attempts];
}
double best_result = result_array[0][0];
int numb_ath, // номер спортсмена с наилучшим результатом
numb_att; // номер попытки с наилучшим результатом
for (int counter_athletes = 0; counter_athletes < number_athletes; counter_athletes++)
{
for (int counter_attempts = 0; counter_attempts < number_attempts; counter_attempts++)
if (best_result < result_array[counter_athletes][counter_attempts]) // определяем наилучший результат
{
best_result = result_array[counter_athletes][counter_attempts];
numb_ath = counter_athletes + 1; // запоминаем номер спортсмена
numb_att = counter_attempts + 1; // запоминаем номер попытки
}
}
// в случае, ечли несколько спортсменов показали найлучший результат
cout << "\nлучший результат у спортсменов:\n";
for (int counter_athletes = 0; counter_athletes < number_athletes; counter_athletes++)
for (int counter_attempts = 0; counter_attempts < number_attempts; counter_attempts++)
if (best_result == result_array[counter_athletes][counter_attempts])
// определяем всех спортсменов с наилучшим результатом
{
cout << "№ спортсмена - "<< (counter_athletes + 1)
<< "\n№ nпопытки - " << (counter_attempts + 1) << endl << endl;
}
system("pause");
return 0;
}
результат
Похожие публикации
2015-06-30 • Просмотров [ 2089 ]