ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Пример 3.3. В заданной матрице A(N, M) поменять местами строки с номерами P иQ (1 <= P <= N, 1 <= Q <= N). Тест
Алгоритмический язык алг Поменять местами строки (арг цел N, M, арг цел P, Q, арг рез вещ таб А[1:N, 1:M]) нач цел j, вещ Tmp нц для j от 1 до M | цикл по элементам строк матрицы Tmp:=A[P, j]; A[P, j]:=A[Q, j]; A[Q, j]:=Tmp Кц Кон Исполнение алгоритма Блок-схема (фрагмент)
Turbo Pascal Program Exchange; Uses Crt; Type Mas = Array [1..10, 1..10] of Real; Var A: Mas; N, M, P, Q, i, j: Integer; Tmp: Real; {--------------------------------------------------------------} Procedure InputOutput(Var A:Mas); {описание процедуры ввода-вывода} Begin ClrScr; Write('Количество строк - '); ReadLn(N); Write('Количество столбцов - '); ReadLn(M); For i:= 1 to N do For j:= 1 to M do begin Write('A[', i, ', ', j, '] =? '); Read(A[i, j]); end; WriteLn; WriteLn('Номера строк, которые нужно поменять местами:'); Write('P = '); ReadLn(P); Write('Q = '); ReadLn(Q); WriteLn; ClrScr; WriteLn('Исходная матрица: '); For i:= 1 to N do begin For j:= 1 to M do Write(A[i, j]: 5: 1); WriteLn; 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. Не нашли, что искали? Воспользуйтесь поиском:
|