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

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

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

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

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

textual
Листинг программы
  1. const n=5; m=5;
  2. type TArr = array [1..n,1..m] of Real;
  3. function Sum(const a: TArr; i, j: Integer): Real;
  4. var i1, i2, j1, j2: Integer; s: Real;
  5. begin
  6.   i1:=i; i2:=i; j1:=j; j2:=j; s:=-a[i,j];
  7.   if i1>1 then Dec(i1); if i2<n then Inc(i2);
  8.   if j1>1 then Dec(j1); if j2<m then Inc(j2);
  9.   for i:=i1 to i2 do for j:=j1 to j2 do s:=s+a[i,j];
  10.   Sum:=s;
  11. end;
  12. var
  13.   a: TArr;
  14.   b: array [1..n,1..m] of Boolean;
  15.   s: Real;
  16.   i, j: Integer;
  17. begin
  18.   Randomize;
  19.   for i:=1 to n do for j:=1 to m do a[i,j]:=Random(100);
  20.   WriteLn('A =');
  21.   for i:=1 to n do begin
  22.     for j:=1 to m do Write(a[i,j]:6:0); WriteLn;
  23.   end;
  24.   Write('S: '); ReadLn(s);
  25.   for i:=1 to n do for j:=1 to m do b[i,j]:=Sum(a,i,j)<s;
  26.   WriteLn('B =');
  27.   for i:=1 to n do begin
  28.     for j:=1 to m do Write(b[i,j]:6); WriteLn;
  29.   end;
  30. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы