Результаты соревнований по прыжкам в длину представлены в виде матрицы
5х3
(5 спортсменов по 3 попытки у каждого). Указать, какой спортсмен и в какой попытке показал наилучший результат.Итак, результаты соревнований представляем в виде двумерного массива. После заполнения матрицы, необходимо определить максимальное значение прыжка, т. е. нужно организовать поиск максимального значения в двумерном массиве. Результат работы программы показан ниже:
// long_jump.cpp: определяет точку входа для консольного приложения. #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; }
Пример работы программы:
CppStudio.com
Введите результаты соревнований:
для 1 спортсмена: 2.60 2.90 3.10
для 2 спортсмена: 2.90 2.95 3.00
для 3 спортсмена: 3.45 3.15 3.16
для 4 спортсмена: 3.00 3.10 2.90
для 5 спортсмена: 3.15 3.20 3.45
лучший результат у спортсменов:
№ спортсмена — 3
№ nпопытки — 1
№ спортсмена — 5
№ nпопытки — 3
Комментарии
AndreiST
RodjeR
Adam1983