
Заданы матрица порядка n и число k. разделить элементы k-й строки на диагональный элемент,
расположенный в этой строке. исходную и полученную матрицы вывести на экран.

Ответы на вопрос

// PascalABC.NET 3.2, сборка 1353 от 27.11.2016
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('n=');
var k:=ReadInteger('Введите 1<k<=n:');
if (k>n) or (k<1) then exit;
var a:=MatrRandomReal(n,n,1,20); a.Println(7,2);
k-=1;
var d:=a[k,k];
Writeln(n*7*'-');
for var j:=0 to n-1 do a[k,j]/=d; a.Println(7,2)
end.
Пример
n= 5
Введите 1<k<=n: 2
15.11 1.07 2.01 6.33 8.63
13.26 14.96 13.36 9.87 17.39
14.87 19.89 16.94 10.77 17.86
18.16 19.99 10.16 9.89 5.42
4.78 13.60 6.89 19.56 1.25
-----------------------------------
15.11 1.07 2.01 6.33 8.63
0.89 1.00 0.89 0.66 1.16
14.87 19.89 16.94 10.77 17.86
18.16 19.99 10.16 9.89 5.42
4.78 13.60 6.89 19.56 1.25
2. А пока в школах учат писать вот так. Хорошо видно, насколько школа отстает от современных технологий.
const
nn=20;
var
a:array[1..nn,1..nn] of real;
i,j,n,k:integer;
d:real;
begin
Write('n= '); Read(n);
Write('Введите 1<k<=n: '); Read(k);
if (k>n) or (k<1) then exit;
randomize;
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=19*random+1;
Write(a[i,j]:7:2)
end;
Writeln
end;
d:=a[k,k];
for i:=1 to 7*n do Write('-');
Writeln;
for j:=1 to n do a[k,j]:=a[k,j]/d;
for i:=1 to n do begin
for j:=1 to n do Write(a[i,j]:7:2);
Writeln
end
end.



Давайте рассмотрим, как можно выполнить задачу с использованием языка программирования Python. Я предложу вам пример кода для данной задачи. Пожалуйста, уточните, если вам нужна помощь с другим языком программирования.
```python def divide_row_by_diagonal_element(matrix, row_index): # Получаем диагональный элемент в заданной строке diagonal_element = matrix[row_index][row_index] # Проверка на деление на ноль, чтобы избежать ошибок if diagonal_element == 0: print("Ошибка: Диагональный элемент равен нулю. Невозможно выполнить деление.") return matrix # Деление элементов строки на диагональный элемент matrix[row_index] = [elem / diagonal_element for elem in matrix[row_index]] return matrix
def print_matrix(matrix): for row in matrix: print(row)
# Пример использования функций n = int(input("Введите порядок матрицы n: ")) k = int(input("Введите номер строки k: "))
# Инициализация матрицы matrix = [] for i in range(n): row = [int(x) for x in input(f"Введите элементы {i+1}-й строки через пробел: ").split()] matrix.append(row)
# Вывод исходной матрицы print("Исходная матрица:") print_matrix(matrix)
# Выполнение деления элементов k-й строки на диагональный элемент matrix = divide_row_by_diagonal_element(matrix, k-1)
# Вывод полученной матрицы print("\nПолученная матрица:") print_matrix(matrix) ```
Пример работы программы: ``` Введите порядок матрицы n: 3 Введите номер строки k: 2 Введите элементы 1-й строки через пробел: 1 2 3 Введите элементы 2-й строки через пробел: 4 5 6 Введите элементы 3-й строки через пробел: 7 8 9
Исходная матрица: [1, 2, 3] [4, 5, 6] [7, 8, 9]
Полученная матрица: [1.0, 2.0, 3.0] [0.8, 1.0, 1.2] [7, 8, 9] ```
Обратите внимание, что в этом примере вводится порядок матрицы `n`, номер строки `k`, и элементы матрицы вводятся вручную. Вы можете адаптировать код под свои конкретные требования.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili