Главная » Статьи » Задачи по программированию |
Если первая строка прямоугольной матрицы имеет максимальное количество отрицательных элементов, проверить, как изменится среднее арифметическое всей матрицы, если заменить все отрицательные элементы их модулями. Решение:
Задача будет разделена на основную программу и модуль
Основное тело программы
program Project3;
uses
SysUtils, Unit2 in 'Unit2.pas'; Var A:matr;
L:inmass; i,j:integer; s1,s2:real; begin for i := 1 to n do for j := 1 to m do readln(A[i,j]); Negative(A,L); if Maximum(L) then Begin s1 := SrArifm(A); write('Среднее арифметическое исходной матрицы: '); writeln(s1:5:3); Replacement(A); s2 := SrArifm(A); write('Среднее арифметическое положительно определенной матрицы: '); writeln(s2:5:3); write('Разность: '); writeln((s2 - s1):5:3) end; readln; END. Далее создаем модуль
в нем пишем следующее unit Unit2;
interface Const n = 3; m = 4; Type matr = array[1..n,1..m] of real; inmass = array[1..n] of integer; procedure Negative(A:matr; Var L:inmass); {записывает в целочисленный массив L количество отрицательных элементов по строкам} function Maximum(L:inmass):boolean; {возвращает true, если L[1] - максимален} function SrArifm(A:matr):real; {возвращает среднее арифметическое матрицы} procedure Replacement(Var A:matr); {меняет все отрицательные элементы матрицы их модулями}
implementation Все после этого можем запускать программу | |
Просмотров: 2057 | Рейтинг: 5.0/1 |
Всего комментариев: 0 | |