Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program matrixAnalising;
- uses
- crt;
- type
- MatrixT = array [0..5] of array [0..5] of integer;
- RowT = array [0..5] of integer;
- var
- matrix: MatrixT;
- colMax: RowT;
- colMin: RowT;
- procedure initUI ();
- begin
- setwindowtitle('Анализ матрицы');
- setwindowsize(100, 25);
- textbackground(15);
- textcolor(0);
- clrscr();
- end;
- procedure startOutput ();
- begin
- clrscr();
- gotoxy(50, 1);
- writeln('Мин. Макс.');
- gotoxy(50, 2);
- writeln(' в в');
- gotoxy(50, 3);
- writeln('стр. стр.');
- end;
- procedure endOutput ();
- begin
- writeln('Мин.');
- write(' в :');
- for var i := 0 to 5 do begin
- write(colMin[i]:6, ' ');
- end;
- writeln('');
- writeln('стлб.');
- writeln('Макс.');
- write(' в :');
- for var i := 0 to 5 do begin
- write(colMax[i]:6, ' ');
- end;
- writeln('');
- writeln('стлб.');
- writeln('');
- end;
- procedure processRow (rowNum: integer);
- begin
- var
- rowMax, rowMin: integer;
- write(' ');
- for var i := 0 to 5 do begin
- if (i = 0) or (matrix[rowNum][i] > rowMax) then begin
- rowMax := matrix[rowNum][i];
- end;
- if (i = 0) or (matrix[rowNum][i] < rowMin) then begin
- rowMin := matrix[rowNum][i];
- end;
- if (rowNum = 0) or (matrix[rowNum][i] > colMax[i]) then begin
- colMax[i] := matrix[rowNum][i];
- end;
- if (rowNum = 0) or (matrix[rowNum][i] < colMin[i]) then begin
- colMin[i] := matrix[rowNum][i];
- end;
- write(matrix[rowNum][i]:6, ' ');
- end;
- write(rowMin:6, ' ');
- writeln(rowMax:6);
- end;
- procedure initMatrix (key: char);
- begin
- var flag: boolean;
- flag := ((key = 'А') or (key = 'а'));
- if flag then begin
- randomize;
- end
- else begin
- writeln('Введите матрицу 6х6:');
- end;
- for var i := 0 to 35 do begin
- if flag then begin
- matrix[i div 6][i mod 6] := random(-100000, 100000);
- end
- else begin
- read(matrix[i div 6][i mod 6]);
- end;
- end;
- end;
- var
- key : char;
- begin
- initUI();
- while ((key <> 'к') and (key <> 'К') and
- (key <> 'а') and (key <> 'А')) do begin
- write('Введите "К" для заполнения матрицы с клавиатуры');
- writeln(' или "А" для автоматического заполнения.');
- read(key);
- clrscr();
- end;
- initMatrix(key);
- startOutput();
- for var i := 0 to 5 do begin
- processRow(i);
- end;
- endOutput();
- readkey();
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement