Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Вычислить среднее арифметическое чисел, принадлежащих заданному
- // промежутку (Y;F) и лежащих на побочной диагонали и ниже её.
- Program CPascal; uses crt;
- const _max=50; // Максимальный размер матрицы
- var matrix:array [1.._max,1.._max] of integer;
- i,j,n,m,count:byte;
- x_left,x_right,mid:real;
- flag:boolean;
- Begin
- // Зададим размер матрицы и проверим на допустимы диапазон...
- Repeat
- Write('Введите кол-во строк (1 <= N <= ',_max,'): '); Readln(N);
- if not (1 <= N) and (N <= _max) then Writeln('Ошибка: Неверный диапазон! Повторите ввод...');
- Until (1 <= N) and (N <= _max);
- Repeat
- Write('Введите кол-во столбцов (1 <= M <= ',_max,'): '); Readln(M);
- if not (1 <= M) and (M <= _max) then Writeln('Ошибка: Неверный диапазон! Повторите ввод...');
- Until (1 <= M) and (M <= _max);
- // Зададим диапазон поиска элементов...
- Write('Введите левую границу: '); Readln(x_Left);
- Write('Введите правую границу: '); Readln(x_Right);
- // Проверим границы...
- if (x_Left > x_Right) then
- Begin
- Mid:=x_Left;
- x_Left:=x_Right;
- x_Right:=Mid;
- end;
- Mid:=0; // Обнуляем
- Count:=0; // Обнуляем
- Flag:=False; // Чисел в заданном диапазоне нет :(
- // Заполним матрицу псевдослучайными числами и выведем на экран
- Writeln('Исходная матрица A(',N,'x',M,'):');
- for i:=1 to n do
- Begin
- for j:=1 to m do
- Begin
- // Получим псевдослучайные числа в интервале от -25 до 25
- Matrix[i,j]:=Random(51)-25;
- // Выводим элемент матрицы на экран
- Write(Matrix[i,j]:5);
- // Найдем среднее арифметическое чисел побочной диагонали и ниже неё...
- if (j >= (n-i+1)) and ((x_Left <= Matrix[i,j]) and (Matrix[i,j] <= x_Right)) then
- Begin
- Flag:=True;
- Inc(Count); // Считаем кол-во элементов
- Mid:=Mid+Matrix[i,j]; // Считаем сумму
- end;
- end;
- Writeln;
- end;
- Writeln;
- if Flag then
- Begin
- Mid:=Mid/Count;
- Writeln('Среднее арифметическое: ',Mid:8:5);
- end
- else Writeln('Чисел в диапазоне [',x_Left,';',x_Right,'] лежащих на побочной диаголи и ниже неё - нет :(');
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement