Одномерный массив из отрицательных элементов области исходной матрицы - Pascal

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

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

Доброго времени суток, помогите пожалуйста с задачей. Сформировать одномерный массив В из отрицательных элементов области исходной матрицы А(9,7), лежащей левее шестого столбца. В полученном массиве поменять местами первый и максимальный элементы.

Решение задачи: «Одномерный массив из отрицательных элементов области исходной матрицы»

textual
Листинг программы
const m=9; n=7; p=5; W=3;
var
  a: array [1..m, 1..n] of Integer;
  b: array [1..m*p] of Integer;
  bn, im, i, j, t: Integer;
begin
  Randomize; {bn:=0;}
  WriteLn('A =');
  for i:=1 to m do begin
    for j:=1 to n do begin
      a[i,j]:=-99+Random(199); Write(' ',a[i,j]:W);
    end; WriteLn;
  end;
  WriteLn('B ='); im:=1;
  for i:=1 to m do for j:=1 to p do
    if a[i,j]<0 then begin
       Inc(bn); b[bn]:=a[i,j]; Write(' ',b[bn]:W);
       if b[im]<b[bn] then im:=bn;
    end;
  WriteLn;
  if bn=0 then WriteLn('Нет отрицательных в [1;1]-[',m,',',p,']')
  else begin
    WriteLn('Максимум: ',b[im],' в позиции ',im);
    t:=b[1]; b[1]:=b[im]; b[im]:=t;
    WriteLn('B''=');
    for i:=1 to bn do Write(' ',b[i]:W); WriteLn;
  end;
end.

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

  1. Объявляется константа m со значением 9, константа n со значением 7, константа p со значением 5, и константа W со значением 3.
  2. Объявляются переменные:
    • a как двумерный массив размером m на n, содержащий целые числа
    • b как одномерный массив размером m*p, содержащий целые числа
    • bn, im, i, j, t как целочисленные переменные
  3. Генерируется случайное значение (Randomize)
  4. Выводится сообщение A =
  5. Создается цикл для заполнения двумерного массива a случайными отрицательными числами и выводится на экран
  6. Выводится сообщение B =
  7. Создается цикл, в котором происходит заполнение одномерного массива b отрицательными числами из двумерного массива a. Также происходит поиск максимального отрицательного числа и его позиции в массиве b
  8. Проверяется, есть ли отрицательные числа в заданной области [1;1]-[m;p]
  9. Если есть, выводится максимальное отрицательное число и меняется местами с первым отрицательным числом
  10. Выводится массив b на экран Итак, в данном коде создается исходный двумерный массив a, заполняется случайными числами, затем из него формируется одномерный массив b из отрицательных элементов, и выводится на экран.

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


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

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

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