Сформировать матрицу по правилу - Pascal (80846)

Узнай цену своей работы

Формулировка задачи:

Помогите решить задачку. Пускай дана матрица А размером n*m что состоит из действительных чисел.нужно получить матрицу В размером n*m, каждый елемент b[i,j] который является истинной ,если сума соседних елементов а[i,j], меньше установленного размера S.нужно использовать функцию нахождения сумы соседних елементов.

Решение задачи: «Сформировать матрицу по правилу»

textual
Листинг программы
const n=5; m=5;
type TArr = array [1..n,1..m] of Real;
function Sum(const a: TArr; i, j: Integer): Real;
var i1, i2, j1, j2: Integer; s: Real;
begin
  i1:=i; i2:=i; j1:=j; j2:=j; s:=-a[i,j];
  if i1>1 then Dec(i1); if i2<n then Inc(i2);
  if j1>1 then Dec(j1); if j2<m then Inc(j2);
  for i:=i1 to i2 do for j:=j1 to j2 do s:=s+a[i,j];
  Sum:=s;
end;
var
  a: TArr;
  b: array [1..n,1..m] of Boolean;
  s: Real;
  i, j: Integer;
begin
  Randomize;
  for i:=1 to n do for j:=1 to m do a[i,j]:=Random(100);
  WriteLn('A =');
  for i:=1 to n do begin
    for j:=1 to m do Write(a[i,j]:6:0); WriteLn;
  end;
  Write('S: '); ReadLn(s);
  for i:=1 to n do for j:=1 to m do b[i,j]:=Sum(a,i,j)<s;
  WriteLn('B =');
  for i:=1 to n do begin
    for j:=1 to m do Write(b[i,j]:6); WriteLn;
  end;
end.

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

  1. Объявляются константы n и m и им присваиваются значения 5.
  2. Определяется тип TArr - это двумерный массив размером n на m элементов типа Real.
  3. Создается функция Sum, которая принимает массив a типа TArr и два целочисленных значения i и j, и возвращает значение типа Real.
    • Объявляются переменные i1, i2, j1, j2 и s типа Real.
    • Переменным i1 и i2 присваиваются значения i, j1 и j2 также присваиваются значения j, а s устанавливается в значение -a[i,j].
    • Проверяется, чтобы значения переменных i1, i2, j1 и j2 оставались в пределах размеров массива a.
    • Затем суммируются элементы массива a в заданных пределах и сохраняется в переменной s.
  4. Объявляются переменные a типа TArr, b - двумерный массив размером n на m элементов типа Boolean, s типа Real, i и j типа Integer.
  5. Генерируются случайные значения и заполняется массив a случайными числами от 0 до 99.
  6. Выводится массив a в консоль.
  7. Запрашивается ввод значения переменной s с консоли.
  8. Для каждого элемента массива a вычисляется значение функции Sum и сравнивается с введенным значением s. Результат сравнения сохраняется в массив b.
  9. Выводится массив b в консоль.

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


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

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

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