Задание
Результаты соревнований по прыжкам в длину представлены в виде матрицы 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;
}
результат

Оценка - 1.0 (6)

 Похожие публикации
2015-06-30 • Просмотров [ 2089 ]