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

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

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

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

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

textual
Листинг программы
  1. const M = 10;
  2. const N = 5;
  3.  
  4. const MIN_ELEM = 0;
  5.  
  6. type item_t = integer;
  7. type line_t = array[1..M] of item_t;
  8. type tabl_t = array[1..N] of line_t;
  9.  
  10. procedure printLine( const l: line_t );
  11. var
  12.   i: integer;
  13. begin
  14.   for i:= 1 to M do
  15.     write(l[i] :5);
  16.   writeln;  
  17. end;
  18. procedure printTabl( const t: tabl_t );
  19. var
  20.   i: integer;
  21. begin
  22.   for i:= 1 to N do
  23.     printLine(t[i]);
  24. end;
  25.  
  26. procedure init_2d( var a: tabl_t );
  27. var
  28.   x,y: integer;
  29. begin
  30.     for y:=1 to N do
  31.       for x:=1 to M do
  32.         a[y][x] := random(-100 , 100);
  33. end;
  34.  
  35. procedure replace_m_to( var a: tabl_t; toElem: integer );
  36. var
  37.   x,y: integer;
  38. begin
  39.     for y:=1 to N do
  40.       for x:=1 to M do
  41.         if a[y][x] > MIN_ELEM then
  42.           a[y][x] := toElem;        
  43. end;
  44.  
  45. var
  46.   a1,a2: tabl_t;
  47.   x,x2,y,y2: integer;
  48.   min, max, eCount: integer;
  49.   fBreak : boolean;
  50. begin
  51.   init_2d(a1);
  52.   init_2d(a2);
  53.   Writeln('array 2d 1-------------------------------');
  54.   printTabl(a1);
  55.   Writeln('array 2d 2-------------------------------');
  56.   printTabl(a2);
  57.  
  58.   Writeln('------------- replace data ------------------');
  59.  
  60.   replace_m_to( a1 , 15 );
  61.   replace_m_to( a2 , 2  );
  62.  
  63.   Writeln('array 2d 1-------------------------------');
  64.   printTabl(a1);
  65.   Writeln('array 2d 2-------------------------------');
  66.   printTabl(a2);
  67.  ;
  68. 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

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

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

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