Проверка - Pascal (85091)
Формулировка задачи:
Требуется проверить программу, через раз выдаёт правильный результат.
Дан двумерный массив a, раз¬мером (nm). Найти номер ми¬ни¬мального элемента в каждой строке матрицы. Затем каждый элемент каждой строки разде¬лить на номер минимального элемента строки.
uses crt; const n=3; m=3; var a:array[1..n,1..m] of real; minmas:array[1..100] of real; i,j,id:integer; min:real; begin for i:=1 to n do for j:=1 to m do a[i,j]:=random(100)+1; writeln('Ishodnaya matrica:'); for i :=1 to n do begin for j :=1 to m do write ( a[ i , j ]:10:2); writeln ; end ; min:=a[1,1]; for i:=1 to n do begin for j:=1 to m do if a[i,j]<min then begin min:=a[i,j]; id:=j; end; minmas[i]:=id; end; for i:=1 to n do for j:=1 to m do a[i,j]:=a[i,j]/minmas[i]; writeln('Preobrazovannaya matrica:'); for i :=1 to n do begin for j :=1 to m do write ( a[ i , j ]:10:2); writeln ; end ; end.
Решение задачи: «Проверка»
textual
Листинг программы
program mat; const n = 3; m = 5; var a: array [1..n, 1..m] of real; minmas: array[1..m] of integer; i, j: integer; min: real; begin writeln('Ishodnaya matrica:'); for j := 1 to m do begin for i := 1 to n do begin a[i, j] := random(198) - 99; write(a[i, j], ' ') end; writeln end; writeln('Indexes of minimum:'); for j := 1 to m do begin min := a[1, j]; minmas[j] := 1; for i := 1 to n do if a[i, j] < min then begin minmas[j] := i; min := a[i, j] end; writeln(minmas[j]) end; writeln('Preobrazovannaya matrica:'); for j := 1 to m do begin for i := 1 to n do begin a[i, j] := a[i, j] / minmas[j]; write(a[i, j], ' ') end; writeln end; readln end.
Объяснение кода листинга программы
Список действий в коде:
- Объявление и инициализация констант n = 3 и m = 5.
- Создание двумерного массива a размером n на m и заполнение его случайными числами от -99 до 99.
- Вывод исходной матрицы на экран.
- Создание одномерного массива minmas размером m для хранения индексов минимальных значений в каждой строке матрицы a.
- Начальное присвоение мин. значения переменной min и индекса первой строки minmas[j].
- Цикл по всем строкам матрицы a.
- Внутри цикла поиск минимального значения в текущей строке и сохранение его индекса в minmas[j].
- Если найдено новое мин. значение, то обновление min и minmas[j].
- Вывод на экран индекса minmas[j].
- Цикл по всем строкам матрицы a.
- Внутри цикла деление каждого элемента текущей строки на соответствующий элемент minmas[j].
- Вывод на экран полученной матрицы.
- Чтение данных из стандартного ввода (нажатие любой клавиши).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д