End; WriteLn
End; { of InputOutput}
{--------------------------------------------------------}
Procedure Change(P, Q: Integer); {описание процедуры замены строк }
Begin
For j := 1 to M do
begin Tmp:=A[P, j]; A[P, j]:=A[Q, j]; A[Q, j]:=Tmp end;
End; { of Change}
{--------------------------------------------------------}
Procedure OutRes(Var A:Mas); {описание процедуры вывода результатов}
Begin
WriteLn('Матрица-результат :');
For i := 1 to N do
Begin
For j := 1 to M do Write(A[i, j] : 5 : 1) ;
WriteLn
End; ReadLn
End; { of OutRes}
{--------------------------------------------------------}
BEGIN
InputOutput(A); {вызов процедуры ввода-вывода исходных данных}
Change(P, Q); {вызов процедуры замены строк }
OutRes(A) {вызов процедуры вывода результатов}
END.
QBasic
CLS
INPUT "Количество строк - ", N
INPUT "Количество столбцов - ", M
DIM A(N, M) 'Резервирование памяти для матрицы
FOR i = 1 TO N 'Ввод матрицы
FOR j = 1 TO M
PRINT "A(" ; i ; ", " ; j ; ") = " ; : INPUT A(i, j)
NEXT j
NEXT i : PRINT
INPUT "P = " , P : INPUT "Q = " , Q
CLS : PRINT "Исходная матрица :"
FOR i = 1 TO N 'Вывод матрицы
FOR j = 1 TO M
PRINT A(i, j) ;
NEXT j
PRINT
NEXT i
FOR j = 1 TO M 'Замена строк
Tmp=A(P,j):A(P,j)=A(Q,j):A(Q,j)=Tmp
NEXT j
PRINT : PRINT "Матрица-результат :"
FOR i = 1 TO N 'Вывод результата
FOR j = 1 TO M
PRINT A(i, j) ;
NEXT j
PRINT ' переход на новую строку
NEXT i
END
Результаты работы QBasic-программы
Исходная матрица: 1 2 1 2 2 2 3 1 3 Матрица-результат: 3 1 3 2 2 2
1 2 1
Пример 3.4. Элементы заданного числового массива a1 , a2 , ..., aN упорядочить по возрастанию.
Тест
Данные
Результат
N=4
A=(5, 2, 7, 1)
A=(1, 2, 5, 7)