Вычислить значение выражения - Turbo Pascal (29193)
Формулировка задачи:
Кому не сложно. Помогите с задачей. Заранее спасибо.
Вычислить и напечатать
Матрица размером [nxm] Ri -максимальный, а Pi - минимальный элементы i-oй строки матрицы
Решение задачи: «Вычислить значение выражения»
textual
Листинг программы
uses crt;
const nmax=15;
var x:array[1..nmax,1..nmax] of real;
s:array[1..nmax] of real;
m,n,i,j:byte;
sm,p,r:real;
begin
clrscr;
randomize;
repeat
write('Количество строк до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' m=');
readln(m);
until m in [1..nmax];
writeln('Исходная матрица:');
for i:=1 to n do
begin
for j:=1 to m do
begin
x[i,j]:=-5+10*random;
write(x[i,j]:5:1);
end;
writeln;
end;
writeln('Массив S');
for i:=1 to n do
begin
p:=x[i,1];
r:=x[i,1];
sm:=0;
for j:=1 to m do
begin
if x[i,j]<p then p:=x[i,j];
if x[i,j]>r then r:=x[i,j];
sm:=sm+x[i,j];
end;
if sm>=0 then s[i]:=p else s[i]:=-r;
write(s[i]:5:1);
end;
readln
end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая обеспечивает функции для работы с потоками ввода-вывода.
- Затем определяется константа nmax, которая ограничивает размер массива x до 15 строк и 15 столбцов.
- Создаются переменные x, s, m, n, i, j, sm, p и r. Переменные x и s предназначены для хранения значений матрицы, переменные m, n, i и j используются для контроля циклов, переменные sm, p и r используются для вычисления среднего значения.
- Запускается цикл repeat, который продолжается до тех пор, пока количество строк или столбцов не превышает значение nmax.
- Внутри цикла пользователь вводит количество строк и столбцов, которые он хочет использовать.
- После этого выводится исходная матрица x.
- Затем запускается еще один цикл repeat, внутри которого вычисляется среднее значение матрицы x.
- Если среднее значение положительное, то соответствующий элемент массива s присваивается значению p. Если среднее значение отрицательное, то соответствующий элемент массива s присваивается значению -r.
- После окончания внутреннего цикла выводится значение элемента массива s.
- Программа завершается после ввода пользователем значения nmax.