Написать функцию с параметрами, обеспечивающую перестановку 2-ух задан-ных строк матрицы.

Написать функцию с параметрами, обеспечивающую перестановку двух задан-
ных строк матрицы. Паскаль

Задать свой вопрос
Карина Роженская
наверное многие до сих пор посиживают на турбопаскале.
Олег Кильдишев
Замкнутый круг выходит. Тем кому занимательно программить - небудет прописывать каждый чих, когда есть возможность сходу делать что-то занимательное. А тем кому неинтересно - то тем более вникать не будет. Грустно.
Леша
Расписал все досконально, как когда-то в школе :) Но конечно во всех языках на которых работал - везде есть полный набор способов работы с массивами\
Вадим Ахыев
универсальности окончательно-же нет. Только алгоритм и "сахар" для приятного представления
1 ответ

процедуру с параметрами, обеспечивающую перестановку 2-ух данных строк матрицы
написан на PascalABC.NET
но обязано работать в TurboPascal


PROGRAM A5;
const
    rows = 5;
    cols = 8;
   
type
    matrix = array [1..rows,1..cols] of integer;
 
var
    AR : matrix;// рабочая матрица
    i,j:byte;// счетчики
    k1,k2:byte;// номера строк

// размен строк матрицы местами
procedure SwapRows(row1:byte; row2:byte; var m:matrix);
var i,j:byte;
    ax:integer;
begin
  for i:=1 to cols do begin
    ax := m[row1,i];
    m[row1,i] := m[row2,i];
    m[row2,i] := ax;
  end;
end;

// выравнивание по правому краю - пробелы перед числом
function trailSpace(num:byte; len:byte):string;
var   s:string;
      i:byte;
begin
  s := ''+num;
  i := s.Length;
  while (ilt;len) do begin
    s := ' ' + s;
    i := i+1;
  end;
  trailSpace := s;
end;

// вывод матрицы на экран
procedure displayMatrix(var m:matrix);
var i,j:byte;
begin
  for i:=1 to rows do begin
    write('Строчка ', i, ': ');
    for j:=1 to cols do begin
      write();
      write(trailSpace(AR[i,j], 4) );
    end;
    writeln(' ');
  end;
end;

BEGIN
  // наполнение массива и вывод его на экран
  randomize();
  for i:=1 to rows do
    for j:=1 to cols do
      AR[i,j] := random(256);
  writeln('Начальный массив');
  displayMatrix(AR);
 
  // ввод данных
  writeln(' ');
  write('введите номер строк которые следует поменять местами: ');
  readln(k1, k2);

  if (k1lt;=rows) and (k2lt;=rows) then begin
    SwapRows(k1, k2, AR);
    writeln('Итог');
    displayMatrix(AR);
  end else
    writeln('Номера строк должны быть меньше ', rows);
END.

, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы
задание экономиоти Рассмотри ситуацию: человек живёт на Крайнем Се-вере. С помощью каких

Экономика.

Человек живет на Крайнем Севере. С помощью каких благ удовлетворяются потребности

Экономика.

там лежат три яйца.у дома рос клен.Это гнездо сойки.на клёне гнездо

Русский язык.

Тыныштық күйіндегі карусель 35 с-та 3,0 рад/с бұрыштық жылдамдықпен үдей қозғалады.

Разные вопросы.

Сочинение на тему "Русский язык не сможет умереть!"

Математика.

Приветствую! Меня зовут Станислав, я представляю компанию under.site. Хотел бы предложить интересное решение

Разные вопросы.

Масса трёх одинаковых пакетов чая 180г чему равна масса

Математика.

Газообразный аммиак объёмом 2.24 л (н.у.) был полностью поглощён 14.68 мл

Химия.

Упражнение 2 Выпишите глаголы и вставьте пропущенные буквы

Русский язык.

Радиус окружности, описанной около равностороннего треугольника, равен 6. Найдите сторону треугольника

Геометрия.

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт