Другие языки программирования и технологии
решить задачу на Turbo Pascal
Задать исходную матрицу А (любой размерности, квадратную) Сформировать матрицу B путем вычеркиваниея строки и столбца, на пересечении которых находиться максимальный элемент матрицы А. Определить количество строк матрицы А, в которых есть нули.Записать в обратном порядке главную диоганаль матрицы B.
const Size = 100;
var A, B : array [1..Size, 1..Size] of Byte; N, Row, Col, RowMax, ColMax, RowB, ColB, N0, K0 : Byte;
begin
Write('Введите размерность матрицы: '); ReadLn(N);
WriteLn('Матрица А: '); Randomize;
for Row := 1 to N do begin for Col := 1 to N do begin A[Row, Col] := Random(100); Write(A:3); end; WriteLn; end;
{ ищем максимальный элемент }
RowMax := 1, ColMax := 1;
for Row := 1 to N do for Col := 1 to N do if A[Row, Col] > A[RowMax, ColMax] then begin RowMax := Row; ColMax := Col; end;
WriteLn('Максимальный элемент A[', RowMax, ',', ColMax, '] = ', A[RowMax, ColMax]);
Write('Для продолжения нажмите Enter.'); ReadLn;
{ формируем матрицу В }
for Row := 1 to N do begin if Row <= RowMax then RowB := Row else RowB := Row - 1; for Col := 1 to N do begin if Col <= ColMax then ColB := Col else ColB := Col - 1; B[RowB, ColB] := A[Row, Col]; end; end;
{ выводим матрицу B }
WriteLn('Матрица B:');
for Row := 1 to N-1 do begin for Col := 1 to N-1 do Write(B[Row, Col]:3); WriteLn; end;
Write('Для продолжения нажмите Enter.'); ReadLn;
{ определяем нули в матрице A }
K0 := 0;
for Row := 1 to N do begin N0 := 0; for Col := 1 to N do if A[Row, Col] = 0 then Inc(N0); if N0 > 0 then Inc(K0); end;
WriteLn('В матрице А строк с нулевыми элементами ', K0);
Write('Для продолжения нажмите Enter.'); ReadLn;
{ запишем в обратном порядке главную диагональ B }
for Row := 1 to (N-1) div 2 do begin N0 := B[Row, Row]; B[Row, Row] := B[N - Row, N - Row]; B[N - Row, N - Row] := N0; end;
{ выводим B }
WriteLn('Новая В: ');
for Row := 1 to N-1 do begin for Col := 1 to N-1 do Write(B[Row, Col]:3); WriteLn; end;
Write('Для выхода из программы нажмите Enter.'); ReadLn;
end.
var A, B : array [1..Size, 1..Size] of Byte; N, Row, Col, RowMax, ColMax, RowB, ColB, N0, K0 : Byte;
begin
Write('Введите размерность матрицы: '); ReadLn(N);
WriteLn('Матрица А: '); Randomize;
for Row := 1 to N do begin for Col := 1 to N do begin A[Row, Col] := Random(100); Write(A:3); end; WriteLn; end;
{ ищем максимальный элемент }
RowMax := 1, ColMax := 1;
for Row := 1 to N do for Col := 1 to N do if A[Row, Col] > A[RowMax, ColMax] then begin RowMax := Row; ColMax := Col; end;
WriteLn('Максимальный элемент A[', RowMax, ',', ColMax, '] = ', A[RowMax, ColMax]);
Write('Для продолжения нажмите Enter.'); ReadLn;
{ формируем матрицу В }
for Row := 1 to N do begin if Row <= RowMax then RowB := Row else RowB := Row - 1; for Col := 1 to N do begin if Col <= ColMax then ColB := Col else ColB := Col - 1; B[RowB, ColB] := A[Row, Col]; end; end;
{ выводим матрицу B }
WriteLn('Матрица B:');
for Row := 1 to N-1 do begin for Col := 1 to N-1 do Write(B[Row, Col]:3); WriteLn; end;
Write('Для продолжения нажмите Enter.'); ReadLn;
{ определяем нули в матрице A }
K0 := 0;
for Row := 1 to N do begin N0 := 0; for Col := 1 to N do if A[Row, Col] = 0 then Inc(N0); if N0 > 0 then Inc(K0); end;
WriteLn('В матрице А строк с нулевыми элементами ', K0);
Write('Для продолжения нажмите Enter.'); ReadLn;
{ запишем в обратном порядке главную диагональ B }
for Row := 1 to (N-1) div 2 do begin N0 := B[Row, Row]; B[Row, Row] := B[N - Row, N - Row]; B[N - Row, N - Row] := N0; end;
{ выводим B }
WriteLn('Новая В: ');
for Row := 1 to N-1 do begin for Col := 1 to N-1 do Write(B[Row, Col]:3); WriteLn; end;
Write('Для выхода из программы нажмите Enter.'); ReadLn;
end.
Напиши на мыло, обсудим
обязательно в паскале? ? делфи7 не подойдет?
Похожие вопросы
- Помогите решить задачу по Turbo Pascal пожалуста
- Задача по Turbo Pascal
- Задача по TURBO PASCAL! Помогите решить, пожалуйста! Дано 4 точки на плоскости. Нужно разставить их по часовой стрелке.
- Мне задали сделать задачу по Turbo Pascal, но я забыл что нужно писать в var и READ. подскажите пожалуйста.
- Помогите решить задачу через процедуры PASCAL
- Помогите пожалуйста решить задачу в Turbo Delphi.
- Помогите решить задачу на языке Pascal
- Turbo Pascal. Помогите решить 2 задачи! Совершено не понимаю в этом.
- Подскажите решение задачи на Borland Turbo Pascal
- Необходимо решить представленные задачи на языке Pascal: