Pascal: Примеры задач с решением (многомерные массивы)

Задача 1.

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

Переменные:

a – двумерный массив;
n, m – количество строк и столбцов массива;
i, j – переменные цикла;
jm – столбец минимального элемента для каждой строки;
min – текущий минимум.

Алгоритм решения задачи:

  1. вводим размеры массива А и значения его элементов;
  2. просматриваем строки массива слева направо, ищем минимальное значение и запоминаем значения индексов;
  3. для каждой строки меняем местами минимальный элемент и элемент в первом столбце;
  4. выводим матрицу на экран.

Задача 2.

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

Рассмотрим матрицу 3×3 и посмотрим, что происходит с элементами при зеркальном отображении:

Если считать, что после преобразования у нас появилась новая матрица B, то соответствие между элементами устанавливается следующим образом:

Внимательно изучив соответствие, можно утверждать, что для элементов матрицы NxM справедлива следующая система уравнений:

Отсюда правило преобразования элементов выглядит следующим образом:

Переменные:

a, b – двумерные массивы;
m – количество строк и столбцов массива;
i, j – переменные цикла;
k– вспомогательная переменная.

Алгоритм решения задачи:

  1. вводим размеры массива A и присваиваем значения его элементам;
  2. присваиваем значения элементам матрицы B по представленным выше формулам и выводим их на экран.

Программа, решающая данную задачу, выглядит так:

Задача 3.

Вычислить:

а) С = A + B

Создадим две процедуры:

1) tab_in ( var a1 : mas ) – для ввода элементов массива с клавиатуры. Параметр а1 – формируемый массив;
2) tab_out ( var b1 : mas ) – для вывода массива на экран. Параметр b1 – имя выводимого массива.

б) y = A * x

Основная программа

в) С = A * B

Основная программа

г) транспонированную матрицу B

Основная программа:

Comments are closed.