Код | uses crt; const ROWS = 3; COLS = 4; type TMatrix = array [ 1..ROWS, 1..COLS ] of integer;
procedure ReadMatrix( var matrix: TMatrix ); var i, j: integer; begin for i:= 1 to ROWS do for j := 1 to COLS do read( matrix[ i ][ j ] ); end;
procedure PrintMatrix( var matrix: TMatrix ); var i, j: integer; begin for i := 1 to ROWS do begin for j := 1 to COLS do write( matrix[ i ][ j ]:3, ' ' ); writeln; end; end;
function FindNegative( var matrix: TMatrix; col : integer ): boolean; var i: integer; found : boolean; begin i := 1; while( i <= ROWS ) and ( not found ) do begin found := matrix[ i ][ col ] < 0; inc( i ); end; FindNegative := found; end;
function FirstNegativeColumn( var matrix: TMatrix ): integer; var col: integer; begin col := 1;
while ( col <= COLS ) and ( not FindNegative( matrix, col ) ) do inc( col );
if col > COLS then col := 0;
FirstNegativeColumn := col; end;
var matrix: TMatrix; res: integer;
begin clrscr;
writeln( 'Matrix[ ', ROWS, ' x ', COLS,' ]:' );
ReadMatrix( matrix );
writeln( 'Source matrix:' ); PrintMatrix( matrix );
res := FirstNegativeColumn( matrix );
writeln( 'Result:' );
if( res > 0 ) then writeln( 'first negative column - ', res ) else writeln( 'can not find negative numbers' );
end.
|
|