Сформировать вектор 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.

Объяснение кода листинга программы

  1. В начале кода определяются две переменные n и m, которые будут использоваться для формирования вектора b.
  2. Затем объявляются три переменные: a, blen и b. Переменная a будет использоваться для хранения массива размером n на m, переменная blen будет использоваться для хранения количества элементов в массиве a, а переменная b будет использоваться для хранения вектора размером n*m.
  3. Далее объявлен процедурный блок inpA, который считывает значения из массива a и сохраняет их в соответствующем месте вектора b.
  4. Затем объявлен процедурный блок outB, который выводит значения из вектора b на экран.
  5. В блоке B1 происходит формирование вектора b по правилу, описанному в задаче. Для этого создается новый вектор len, в котором сохраняются произведения соответствующих элементов из строк массива a. Затем значение len увеличивается на 1.
  6. В блоке B2 происходит формирование вектора b по тому же правилу, но для столбцов массива a.
  7. В блоке B4 происходит формирование вектора b по правилу, описанному в задаче, для столбца массива a, в котором первые отрицательные элементы помечаются соответствующими значениями.
  8. В конце кода выполняется последовательность операций: сначала считываются значения из массива a, затем вызываются процедуры B1, B2 и B4, а затем выводятся значения из вектора b на экран.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5
Похожие ответы