Переставить столбец и строку, в которой находится первый отрицательный элемент - Pascal ABC

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

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

Дан двумерный квадратный массив. Переставить столбец и строку, в которой находится первый отрицательный элемент. Если такого элемента нет, то выдать сообщение

Решение задачи: «Переставить столбец и строку, в которой находится первый отрицательный элемент»

textual
Листинг программы
Program perest;
const
  n=4;
type
  Mass=array[1..n,1..n] of integer;
Var
  b:Mass;
  k,i,j:integer;
 
procedure WWOD(var a: Mass);
var
  i,j:integer;
begin
  for i:=1 to n do
    for j:=1 to n do
      a[i,j]:=random(20)-random(10);{i-ому элементу массива присваивается случайное значение от -10 до 20}
end;
 
procedure WIWOD (a: Mass);     {вывод исходного массива на экран}
var
  i,j:integer;
begin
  for i:=1 to n do
    begin
      for j:=1 to n do
        write(a[i,j]:4);
      writeln;
    end;
end;
 
procedure PER1 (var a: Mass;k:integer);
var
  x,i,j:integer;
begin
{В этой процедуре столбик должен стать строкой}
  for i:=1 to n do
    begin
      x:=a[i,k];
      a[i,k]:=a[k,i];
      a[k,i]:=x;
    end;
 end;
 
Begin
  randomize;
  WWOD(b);
  writeln('Исходная матрица: ');
  WIWOD(b);
  writeln;
  {использование процедур}
  for i:=1 to n do
    for j:=1 to n do
      if b[i,j]<0 then
        begin
          k:=j;
          break;
        end;
 
  per1(b,k);
  writeln('Полученная матрица: ');
  WIWOD(b);
  readln;
end.

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

  1. В программе объявлены переменные n и Mass, которые имеют описания типов данных.
  2. Объявлены переменные b, k, i и j, которые являются целочисленными типами данных.
  3. В процедуре WWOD присваиваются случайные значения от -10 до 20 всем элементам массива b.
  4. В процедуре WIWOD выводится на экран каждый элемент массива b.
  5. В процедуре PER1 происходит перестановка столбца и строки, в которой находится первый отрицательный элемент. Для этого используется цикл for, который проходит по всем элементам массива b.
  6. В процедуре Begin выполняется инициализация генератора случайных чисел, вызывается процедура WWOD для создания исходной матрицы, выводится эта матрица на экран, вызывается процедура WIWOD для вывода исходной матрицы, затем вызываются процедуры PER1 и WIWOD для использования процедур и получения полученной матрицы, которая выводится на экран.
  7. В конце программы считывается ввод пользователя и программа завершается.

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

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