Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Задача 52. Использование вспомогательных алгоритмов. Обработка отдельных столбцов матрицыСодержание книги
Поиск на нашем сайте
Условие задачи. Дана матрица А. Найти минимальный элемент в том столбце матрицы, в котором среднее арифметическое элементов самое большое. В данной задаче исходным данным является матрица вещественных чисел А. Её размер в условии не определён. Поэтому число строк и число столбцов матрицы (целочисленные n и m) также являются исходными данными и должны вводиться пользователем. Результатом будет минимальный элемент min в том столбце матрицы, в котором среднее арифметическое элементов самое большое. Для получения результата надо сначала вычислить среднее арифметическое элементов во всех столбцах, затем определить номер столбца с наибольшим средним и уже в этом столбце найти минимальный элемент. Поэтому для решения задачи можно использовать несколько вспомогательных алгоритмов: · ввод матрицы In_matr; · вычисление среднего арифметического элементов в одном, любом, столбце Sredn; · определение номера столбца с максимальным средним арифметическим J _ max; · поиск минимального элемента в искомом столбце Min _ el. Вспомогательный алгоритм In_matr(A, n, m) выполняет ввод элементов матрицы А. Входными данными будут количество строк n и количество столбцов m матрицы, а выходным параметром будет исходная матрица A. В этом алгоритме для обхода всех элементов матрицы использована конструкция вложенных циклов. Чтобы вводить элементы матрицы в порядке их следования по строкам, внешний цикл надо организовать по строкам, а внутренний - по столбцам. Вспомогательный алгоритм Min _ el (A, n, j ) предназначен для поиска минимального элемента в одном столбце с любым номером. Входными параметрами будут матрица A, количество её строк n и номер столбца j, в котором надо найти минимальный элемент. В этом алгоритме будет использован цикл с известным числом повторений для поиска минимального элемента в столбце по рассмотренному ранее алгоритму. Минимальный элемент min будет результатом работы вспомогательного алгоритма и будет передан в вызывающий алгоритм. Вспомогательный алгоритм Sredn (A, n, m, j) предназначен для вычисления среднего арифметического в одном столбце матрицы Входными данными будут матрица A, количество её строк n, столбцов m и номер столбца j, в котором ищется результат, а выходным параметром будет значение среднего арифметического всех элементов данного столбца Sredn. В этом алгоритме будет использована конструкция цикла с предопределённым числом повторений для получения суммы элементов столбца путем перебора строк. Полученная сумма будет поделена на количество строк, и результат будет передан в вызывающий алгоритм. Вспомогательный алгоритм J _ max (A, n, m) предназначен для поиска номера столбца с максимальным средним арифметическим. Входными параметрами будут матрица A, количество её строк n и столбцов m, а выходным параметром будет значение номера столбца, в котором среднее арифметическое всех элементов наибольшее J _ max. Чтобы найти искомый номер столбца, надо воспользоваться известным уже алгоритмом поиска максимума, в котором до цикла за начальное значение максимума принимается значение среднего в первом столбце, полученное как результат вспомогательного алгоритма Sredn (A, n, m, j), и запоминается его номер столбца. Исходными данными для первого вызова будут матрица A, количество строк n, количество столбцов m и номер первого столбца. В цикле с параметром, который изменяется от номера второго столбца до последнего, вызывается вспомогательный алгоритм получения среднего арифметического в текущем столбце. В него будут передаваться матрица A, количество строк n, количество столбцов m и текущий номер столбца j. Среднее арифметическое текущего столбца сравнивается с максимальным значением и если оно окажется больше максимального, то им заменяется значение максимума и запоминается его номер. Если надо, чтобы результат одного вспомогательного алгоритма использовался в другом алгоритме, возможны разные варианты организации их вызовов. Главный алгоритм может последовательно один за другим вызывать вспомогательные алгоритмы, получая результат одного алгоритма и передавая его другому как входное данное. Обращение к одному алгоритму (если это функция) можно указать в качестве входного данного для другого алгоритма, и это также будет означать передачу результата первого алгоритма второму как входного данного. Можно обращаться из одного вспомогательного алгоритма к другому и использовать его выходное значение. В данной задаче будут использоваться все три варианта. В главном алгоритме сначала вводится число строк n и число столбцов m матрицы А. Затем вызывается вспомогательный алгоритм In_matr(A, n, m) для ввода элементов матрицы. Входными данными для этого алгоритма будут количество строк n и количество столбцов m. Выходным значением будет матрица А. Далее будет выполняться вызов вспомогательного алгоритма Min _ el (A, n, J _ max (a, n, m)) для поиска минимального элемента в искомом столбце. Входными данными для этого алгоритма будут матрица, количество строк n и третьим параметром будет вызов вспомогательного алгоритма J _ max (A, n, m), результатом которого будет номер столбца с наибольшим средним. Выходное значение вспомогательного алгоритма Min _ el (A, n, j) сохранится в переменной min, значение которой и будет выведено на экран.
|
||||
Последнее изменение этой страницы: 2021-04-12; просмотров: 113; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.15.34 (0.006 с.) |