Заменить главную диагональ матрицы вектором наименьших значений в столбцах - Turbo Pascal (247651)
Формулировка задачи:
Доброго времени суток, товарищи! Прошу вашей скорейшей помощи с выполнением следующих заданий в TurboPascal:
- Построчно ввести матрицу 7×7 со случайными значениями. Заменить главную диагональ матрицы вектором наименьших значений в столбцах. (с использованием массива/ов);
Решение задачи: «Заменить главную диагональ матрицы вектором наименьших значений в столбцах»
textual
Листинг программы
program arrays;{Массивы} const Str = 7; Stl = 7; var a: array[1..Str, 1..Stl] of real; b: array[1..Stl] of real; minj: real; i, j: byte; begin writeln('Исходная матрица имеет вид:'); Randomize; begin for i := 1 to Str do begin for j := 1 to Stl do begin a[i, j] := random(99) + 1; write(a[i, j]:8:2, ' '); end; writeln; end; end; writeln('Наименьшие элементы столбцов:'); for j := 1 to Stl do begin minj := a[1, j]; for i := 1 to Str do if a[i, j] < minj then minj := a[i, j]; b[j] := minj; end; for i := 1 to Stl do begin write(b[i]:8:2, ' '); a[i, i] := b[i]; end; writeln; writeln('Полученная матрица имеет вид:'); for i := 1 to Str do begin for j := 1 to Stl do write(a[i, j]:8:2, ' '); writeln; end; write('Нажмите Enter, для завершения программы'); readln; end.
Объяснение кода листинга программы
- Объявлены массив a размером [1..Str, 1..Stl] и массив b размером [1..Stl].
- Переменная minj инициализируется значением a[1, j].
- Выводится исходная матрица a.
- В цикле перебираются все элементы матрицы a.
- Если текущий элемент меньше значения minj, то значение minj обновляется.
- Значение minj записывается в массив b.
- В цикле перебираются все элементы матрицы b.
- Каждый элемент выводится на экран, после чего происходит замена значения элемента a[i, i] на соответствующее значение из массива b.
- Выводится полученная матрица a.
- Программа ожидает нажатия клавиши Enter для завершения работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д