Отредактировать программу, убрав 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.

Объяснение кода листинга программы

  1. Указан тип матрицы mtr как array[1..20,1..15] of real;
  2. Определена функция nomera с параметрами x:mtr; m,n:integer и переменными i,j:integer; mx,s:real; a:string;
  3. В функции nomera происходит поиск максимального элемента в строке и если он больше суммы остальных элементов строки, то добавляется номер строки в результат;
  4. Задана матрица a размером 7x15, заполненная значениями isin(3.5j);
  5. Выводится матрица a;
  6. Вычисляется результат функции nomera для матрицы a с m=7 и n=15;
  7. Если результат функции nomera пустой, выводится сообщение Нет строк с максимальным большим суммы остальных, иначе выводятся номера строк, содержащих максимальное большое суммы остальных;
  8. Задана матрица b размером 20x5, заполненная значениями sin(2.07*j)+i;
  9. Выводится матрица b;
  10. Вычисляется результат функции nomera для матрицы b с m=20 и n=5;
  11. Если результат функции nomera пустой, выводится сообщение Нет строк с максимальным большим суммы остальных, иначе выводятся номера строк, содержащих максимальное большое суммы остальных.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.667 из 5
Похожие ответы