В двумерных массивах все положительные элементы заменить на заданные числа - Pascal

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

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

Даны два двумерных массива размерности соответственно n×m. В первом массива все положительные элементы заменить на 15, а во втором – на 2. Использовать процедуру.

Решение задачи: «В двумерных массивах все положительные элементы заменить на заданные числа»

textual
Листинг программы
const M = 10;
const N = 5;
 
const MIN_ELEM = 0;
 
type item_t = integer;
type line_t = array[1..M] of item_t;
type tabl_t = array[1..N] of line_t;
 
procedure printLine( const l: line_t );
var
  i: integer;
begin
  for i:= 1 to M do
    write(l[i] :5);
  writeln;  
end; 
procedure printTabl( const t: tabl_t );
var
  i: integer;
begin
  for i:= 1 to N do
    printLine(t[i]);
end; 
 
procedure init_2d( var a: tabl_t );
var
  x,y: integer;
begin
    for y:=1 to N do
      for x:=1 to M do
        a[y][x] := random(-100 , 100);
end;
 
procedure replace_m_to( var a: tabl_t; toElem: integer );
var
  x,y: integer;
begin
    for y:=1 to N do
      for x:=1 to M do
        if a[y][x] > MIN_ELEM then
          a[y][x] := toElem;        
end;
 
var
  a1,a2: tabl_t;
  x,x2,y,y2: integer;
  min, max, eCount: integer;
  fBreak : boolean;
begin
  init_2d(a1); 
  init_2d(a2); 
  Writeln('array 2d 1-------------------------------');
  printTabl(a1);
  Writeln('array 2d 2-------------------------------');
  printTabl(a2);
  
  Writeln('------------- replace data ------------------');
 
  replace_m_to( a1 , 15 );
  replace_m_to( a2 , 2  );
 
  Writeln('array 2d 1-------------------------------');
  printTabl(a1);
  Writeln('array 2d 2-------------------------------');
  printTabl(a2);
 ;
end.

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

  1. Константы M и N определяют размеры двумерного массива.
  2. Тип item_t определяет целочисленный элемент массива.
  3. Тип line_t определяет однострочный массив из item_t.
  4. Тип tabl_t определяет многострочный массив из line_t.
  5. Функция printLine печатает элементы строки массива.
  6. Функция printTabl печатает элементы столбца массива.
  7. Функция init_2d инициализирует двумерный массив случайными числами от -100 до 100.
  8. Функция replace_m_to заменяет все элементы массива, начиная с индекса MIN_ELEM, на заданное число toElem.
  9. Переменные a1 и a2 представляют собой двумерные массивы.
  10. Переменные x, x2, y и y2 представляют собой индексы массивов.
  11. Переменная min и max используются для отслеживания минимального и максимального элементов в массиве.
  12. Переменная eCount используется для отслеживания количества элементов в массиве.
  13. Переменная fBreak используется как флаг для выхода из цикла.
  14. Основной цикл программы включает инициализацию, печать исходного массива, замену данных и печать измененного массива.

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


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

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

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