Сформировать вектор b по правилу - Pascal ABC
Формулировка задачи:
Дана вещественная матрица размерности n * m. Сформировать вектор b, в котором элементы вычисляются как(без рандома):
- произведение элементов соответствующих строк;
- среднее арифметическое соответствующих столбцов;
- разность наибольших и наименьших элементов соответствующих строк;
- значения первых отрицательных элементов в столбце.
(без рандома).
Решение задачи: «Сформировать вектор b по правилу»
textual
Листинг программы
const n=5; m=6; var a:array[1..n,1..m] of double; blen:integer; b:array[1..n*m] of double; procedure inpA; var i,j:integer; begin For i:=1 to n do For j:=1 to m do Readln(a[i,j]);end; procedure outB; var i,j:integer; begin For i:=1 to blen do Write(b[i]:5:2); Writeln;end; {произведение элементов соответствующих строк} procedure B1; var i,j:integer; begin len=1; for i:=1 to n do begin b[len]:=a[i,1]; for j:=2 to m do b[len]:=b[len]*a[i,j]; inc(len); end; end; {среднее арифметическое соответствующих столбцов;} procedure B2; var i,j:integer; begin len=1; for i:=1 to m do begin b[len]:=a[1,i]; for j:=2 to n do b[len]:=b[len]+a[j,i]; b[len]:=b[len]/n; inc(len); end; end; {значения первых отрицательных элементов в столбце.} procedure B4; var i,j:integer; begin len=1; for i:=1 to m do begin b[len]:=0; for j:=1 to n do if a[j,i]<0 then begin b[len]:=a[j,i]; break; end; inc(len); end; end; begin inpA; B1; outB; B2; outB; B4; outB; Readln; end.
Объяснение кода листинга программы
- В начале кода определяются две переменные n и m, которые будут использоваться для формирования вектора b.
- Затем объявляются три переменные: a, blen и b. Переменная a будет использоваться для хранения массива размером n на m, переменная blen будет использоваться для хранения количества элементов в массиве a, а переменная b будет использоваться для хранения вектора размером n*m.
- Далее объявлен процедурный блок inpA, который считывает значения из массива a и сохраняет их в соответствующем месте вектора b.
- Затем объявлен процедурный блок outB, который выводит значения из вектора b на экран.
- В блоке B1 происходит формирование вектора b по правилу, описанному в задаче. Для этого создается новый вектор len, в котором сохраняются произведения соответствующих элементов из строк массива a. Затем значение len увеличивается на 1.
- В блоке B2 происходит формирование вектора b по тому же правилу, но для столбцов массива a.
- В блоке B4 происходит формирование вектора b по правилу, описанному в задаче, для столбца массива a, в котором первые отрицательные элементы помечаются соответствующими значениями.
- В конце кода выполняется последовательность операций: сначала считываются значения из массива a, затем вызываются процедуры B1, B2 и B4, а затем выводятся значения из вектора b на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д