Вычисление матрицы - Pascal
Формулировка задачи:
помогите найти ошибку в этой программе, после ввода размерности и самой матрицы, дальше вычисления не происходят.
Решение задачи: «Вычисление матрицы»
textual
Листинг программы
uses crt; const nmax=20; type matr=array[1..nmax,1..nmax] of integer; procedure Vvod(var a:matr;var x,y:byte); var i,j:byte; begin repeat write('Количество строк до ',nmax,' ='); readln(x); until x in [1..nmax]; repeat write('Количество столбцов до ',nmax,' ='); readln(y); until y in [1..nmax]; for i:=1 to x do for j:=1 to y do a[i,j]:=random(20)+1; end; procedure Vyvod(var a:matr;x,y:byte); var i,j:byte; begin for i:=1 to x do begin for j:=1 to y do write(a[i,j]:4); writeln; end; writeln; end; function MaxMin(a:matr;x,y,k:byte):integer; var i,j:byte; mn,mx:integer; begin mn:=a[1,1];mx:=a[1,1]; for i:=1 to x do for j:=1 to y do if a[i,j]<mn then mn:=a[i,j] else if a[i,j]>mx then mx:=a[i,j]; if k=1 then MaxMin:=mx else MaxMin:=mn; end; procedure SumRaz(var a:matr;x,y,k:byte;m:integer); var i,j:byte; begin for i:=1 to x do for j:=1 to y do if k=1 then a[i,j]:=a[i,j]-m else a[i,j]:=a[i,j]+m; end; var a:matr; m,n,w:byte; x:integer; begin clrscr; randomize; Vvod(a,n,m); writeln('Исходная матрица:'); Vyvod(a,n,m); writeln('Выберите действие:'); writeln('1-Найти максимум'); writeln('2-Найти минимум'); repeat readln(w); until w in [1..2]; x:=MaxMin(a,n,m,w); if w=1 then begin writeln('Максимальный элемент=',x); writeln; writeln('Матрица разностей с максимальным элементом:'); end else begin writeln('Минимальный элемент=',x); writeln; writeln('Матрица сумм с минимальным элементом:'); end; SumRaz(a,n,m,w,x); Vyvod(a,n,m); readln end.
Объяснение кода листинга программы
- Ввод данных о матрице (количество строк и столбцов)
- Инициализация матрицы случайными значениями
- Вывод исходной матрицы
- Получение выбора действия от пользователя (1-Найти максимум, 2-Найти минимум)
- Нахождение максимального/минимального элемента матрицы
- Вывод найденного максимума/минимума и разности/суммы матрицы с этим элементом
- Ввод данных о матрице (количество строк и столбцов)
- Вывод полученной матрицы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д