Обработка массива - Free Pascal
Формулировка задачи:
День добрый, есть задачка по Паскалю, которую сдавать через час, а у меня еще долги
Если не сложно, то прошу помочь, буду вам премного благодарен
Дана матрица B[1:6,1:6] и вектор А[1:6]. Из среднеарифметических значений строк матрицы сформировать вектор C. Если минимальный элемент вектора C меньше минимального элемента вектора A, то из элементов главной диагонали матрицы сформировать вектор D. Иначе в матрице B элементы главной диагонали матрицы заменить элементами вектора A по правилу Bi,i= Ai.
Решение задачи: «Обработка массива»
textual
Листинг программы
{Дана матрица B[1:6,1:6] и вектор А[1:6]. Из среднеарифметических значений строк матрицы сформировать вектор C. Если минимальный элемент вектора C меньше минимального элемента вектора A, то из элементов главной диагонали матрицы сформировать вектор D. Иначе в матрице B элементы главной диагонали матрицы заменить элементами вектора A по правилу Bi,i= Ai} const n = 6; type matrix = array[1..n, 1..n] of real; vector = array[1..n] of real; function Min(x: vector): real; var i: integer; mn: real; begin mn := x[1]; for i := 2 to n do if x[i] < mn then mn := x[i]; min := mn; end; var B: matrix; a, c, d: vector; i, j: integer; s: real; begin randomize; writeln('Матрица B: '); for i := 1 to n do begin s := 0; for j := 1 to n do begin b[i, j] := -n div 2 + random * n; write(b[i, j]:8:2); s := s + b[i, j] end; a[i] := -n div 2 + random * n; c[i] := s / n; writeln; end; writeln('Вектор A: '); for i := 1 to n do write(a[i]:8:2); writeln; writeln('Минимальный элемент вектора A: ', min(a):8:2); writeln('Вектор C: '); for i := 1 to n do write(c[i]:8:2); writeln; writeln('Минимальный элемент вектора C: ', min(c):8:2); if min(c) < min(a) then begin for i := 1 to n do d[i] := b[i, i]; writeln('Вектор D: '); for i := 1 to n do write(d[i]:8:2); end else begin writeln; for i := 1 to n do b[i, i] := a[i]; writeln('Измененная матрица B: '); for i := 1 to n do begin for j := 1 to n do write(b[i, j]:8:2); writeln; end; end; end.
Объяснение кода листинга программы
- Объявлены константа
n = 6
, типыmatrix
иvector
, а также функцияMin
. - Задана переменная
B
типаmatrix
, инициализированная случайными значениями. - Задана переменная
a
типаvector
, инициализированная случайными значениями. - Задана переменная
c
типаvector
, инициализированная случайными значениями. - Выводится матрица
B
. - Выводится вектор
a
. - Находится минимальный элемент вектора
a
и выводится на экран. - Выводится вектор
c
. - Находится минимальный элемент вектора
c
и сравнивается с минимальным элементом вектораa
. - Если условие выполняется, то выводится вектор
d
. - Иначе, выводится измененная матрица
B
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д