Отредактировать программу, убрав set of byte - Pascal ABC
Формулировка задачи:
Здравствуйте, может кто нибудь помочь убрать тип set of byte?
Решение задачи: «Отредактировать программу, убрав set of byte»
textual
Листинг программы
type mtr=array[1..20,1..15] of real; function nomera(x:mtr;m,n:integer):string; var i,j:integer; mx,s:real; a:string; begin a:=''; for i:=1 to m do begin mx:=x[i,1]; s:=0; for j:=1 to n do begin if x[i,j]>mx then mx:=x[i,j]; s:=s+x[i,j]; end; if mx>s-mx then a:=a+' '+inttostr(i); end; result:=a; end; var a,b:mtr; i,j:integer; str:string; begin randomize; writeln('Матрица А:'); for i:=1 to 7 do begin for j:=1 to 15 do begin a[i,j]:=i*sin(3.5*j); write(a[i,j]:5:1); end; writeln; end; str:=nomera(a,7,15); if str='' then writeln('Нет строк с максимальным большим суммы остальных') else begin writeln('Номера строк с максимальным большим суммы остальных'); for i:=1 to 7 do if pos(inttostr(i),str)>0 then write(i:3); writeln; end; writeln('Нажмите Enter'); readln; writeln('Матрица B:'); for i:=1 to 20 do begin for j:=1 to 5 do begin b[i,j]:=sin(2.07*j)+i; write(b[i,j]:5:1); end; writeln; end; str:=nomera(b,20,5); if str='' then writeln('Нет строк с максимальным большим суммы остальных') else begin writeln('Номера строк с максимальным большим суммы остальных'); for i:=1 to 20 do if pos(inttostr(i),str)>0 then write(i:3); writeln; end; end.
Объяснение кода листинга программы
- Указан тип матрицы mtr как array[1..20,1..15] of real;
- Определена функция nomera с параметрами x:mtr; m,n:integer и переменными i,j:integer; mx,s:real; a:string;
- В функции nomera происходит поиск максимального элемента в строке и если он больше суммы остальных элементов строки, то добавляется номер строки в результат;
- Задана матрица a размером 7x15, заполненная значениями isin(3.5j);
- Выводится матрица a;
- Вычисляется результат функции nomera для матрицы a с m=7 и n=15;
- Если результат функции nomera пустой, выводится сообщение
Нет строк с максимальным большим суммы остальных
, иначе выводятся номера строк, содержащих максимальное большое суммы остальных; - Задана матрица b размером 20x5, заполненная значениями sin(2.07*j)+i;
- Выводится матрица b;
- Вычисляется результат функции nomera для матрицы b с m=20 и n=5;
- Если результат функции nomera пустой, выводится сообщение
Нет строк с максимальным большим суммы остальных
, иначе выводятся номера строк, содержащих максимальное большое суммы остальных.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д