Про минимальный элемент - не понял.
Код | uses crt;
const MAX_MATRIX_SIZE = 5; TWO = 2; THREE = 3; type TQuadMatrix = array [ 1..MAX_MATRIX_SIZE, 1..MAX_MATRIX_SIZE ] of integer;
procedure InputMatrix( var matrix : TQuadMatrix; size : integer ); var i, j : integer; begin for i := 1 to size do for j := 1 to size do read( matrix[ i ][ j ] ); end;
procedure PrintMatrix( var matrix : TQuadMatrix; size : integer ); var i, j : integer; begin for i := 1 to size do begin for j := 1 to size - 1 do write( matrix[ i ][ j ], ' ' ); writeln( matrix[ i ][ size ] ); end; end;
function GetMax( var matrix : TQuadMatrix; size : integer ) : integer; var i, j, max : integer; begin max := matrix[ 1 ][ 1 ]; for i := 1 to size do for j := 1 to size do if matrix[ i ][ j ] > max then max := matrix[ i ][ j ]; GetMax := max; end;
procedure Swap( var a, b : integer ); begin a := a xor b; b := a xor b; a := a xor b; end;
procedure SortToMin( var x, y, z : integer ); begin if ( x >= y ) and ( x >= z ) then begin if y < z then Swap( y, z ); end else if y > z then begin Swap( x, y ); SortToMin( x, y, z ); end else begin Swap( x, z ); SortToMin( x, y, z ); end; end;
var m1, m2, m3 : TQuadMatrix; x, y, z : integer;
begin
writeln( 'Please enter matrix1(', TWO, 'x', TWO, '):' ); InputMatrix( m1, TWO ); writeln( 'Please enter matrix2(', THREE, 'x', THREE, '):' ); InputMatrix( m2, THREE ); writeln( 'Please enter matrix3(', TWO, 'x', TWO, '):' ); InputMatrix( m3, TWO ); writeln( 'Matrix1:' ); PrintMatrix( m1, TWO ); writeln( 'Matrix2:' ); PrintMatrix( m2, THREE ); writeln( 'Matrix3:' ); PrintMatrix( m3, TWO ); writeln; x := GetMax( m1, TWO ); y := GetMax( m2, THREE ); z := GetMax( m3, TWO ); writeln( 'x = ', x ); writeln( 'y = ', y ); writeln( 'z = ', z ); writeln; SortToMin( x, y, z ); writeln( 'Result: x = ', x, ', y = ', y, ', z = ', z );
end.
|
|