Программа
удаления строки номер M
из целочисленной
матрицы X максимального
размера 10x10.
|
Program
p75 (Input, Output);
|
Объявление
имени программы
|
Type
|
Блок
объявления типов пользователя
|
Matr
= Array [1..10, 1..10] Of Integer;
|
Тип
Matr - целочисленная квадратная матрица
максимального размера 10x10
|
Var
|
Блок
объявления глобальных переменных
|
X
: Matr;
|
Переменная
X - матрица вышеуказанного типа Matr
|
i,
j
: Integer;
|
Переменные
i, j - параметры циклов
|
N,
M :
Integer;
|
N
- размеры исходной матрицы, M - позиция
удаляемой строки
|
|
|
Begin
|
Начало
тела программы
|
|
|
WriteLn('PASCAL:
Удаление строки из матрицы.');
|
Формулировка
цели алгоритма
|
WriteLn
('Введите входные данные: ');
|
Вывод
запроса входных данных
|
WriteLn
('Число строк матрицы N (N<=10): ' );
|
Вывод
запроса и ввод N - размера исходной
квадратной матрицы
|
ReadLn
(N);
|
Ввод
N - размера исходной квадратной матрицы
|
|
|
WriteLn
('Введите матрицу X:');
|
Запрос
ввода самой исходной матрицы
|
For
i := 1 To N Do
|
Цикл
для i от 1 до N, где i - номер очередной
строки
|
For
j := 1 To N Do
|
Цикл
для j от 1 до N, где j - номер очередного
столбца
|
Begin
|
Начало
тела цикла
|
Write
('X[', 1: 2, ',', j: 2, '] = ');
|
Вывод
удобной подсказки
|
ReadLn
(X [i, j] )
|
Ввод
очередного элемента - X[i,j]
|
End;
|
Конец
тела цикла
|
|
|
Write
('Введите номер позиции M: '); ReadLn (M);
|
Запрос
и ввод M - позиции удаляемой строки
|
|
|
For
i := M To (N - 1) Do
Цикл сдвига строк матрицы с номера
|
Цикл
для i от M до N-1 для удаления строки номер
M из матрицы X
|
For
j := 1 To N Do
M+1 на одну позицию "вверх", зати-
|
Цикл
для j от 1 до N, сдвигающий элементы i+1-ой
строки на 1 позицию "вверх"
|
X
[ i , j ] := X [ i + 1 , j ];
рая строку с заданным номером M
|
Непосредственный
сдвиг "вверх" элемента X[i+1,j] в
позицию X[i,j]
|
|
|
WriteLn
('Матрица после удаления строки: ');
|
Сообщение
пользователю о выводе полученной
матрицы
|
For
i := 1 To (N - 1) Do
|
Цикл
для i от 1 до N-1, т.е. до нового числа строк
в матрице
|
Begin
|
Начало
тела цикла
|
For
j := 1 To N Do
|
Цикл
для j от 1 до N, где j - номер выводимого
элемента в i-ой строке
|
Write
(X [i, j] : 4);
|
Вывод
элемента матрицы X в позиции [i,j]
|
WriteLn;
|
Переход
на следующую строку
|
End;
|
Конец
тела цикла
|
|
|
ReadLn;
|
Ожидание
нажатия клавиши Enter для завершения
|
End.
|
Конец
программы.
|