Другие языки программирования и технологии

Решить задачу в Delphi7

Удалить из целочисленной матрицы m*n строку и столбец, содержащий максимальный элемент. Напечатать исходную и полученную матрицы.
program N72477697;
{$APPTYPE CONSOLE}
var a:array of array of shortint;
i, j, imax, jmax:byte;
begin
randomize;
setlength(a, random(9) + 2, random(9) + 2);
writeln('Исходная матрица A(', High(a) + 1, 'x', High(a[Low(a)]) + 1, '):');
for i := Low(a) to High(a) do
begin
for j := Low(a[і]) to High(a[і]) do
begin
a[i, j] := random(101) - 50;
write(a[i, j]:5);
if (i or j = Low(a) or Low(a[Low(a)])) or (a[i, j] > a[imax, jmax]) then
begin
imax := i;
jmax := j
end
end;
writeln
end;
writeln('Максимальный элемент A(', imax + 1, ',', jmax + 1, ') = ', a[imax, jmax]);
for i := Low(a) to High(a) do
begin
for j := jmax to High(a[і]) - 1 do
a[i, j] := a[i, j + 1];
setlength(a[і], High(a[і]))
end;
for j := Low(a[Low(a)]) to High(a[Low(a)]) do
for i := imax to High(a) - 1 do
a[i, j] := a[i + 1, j];
setlength(a, High(a));
writeln('Полученная матрица A(', High(a) + 1, 'x', High(a[Low(a)]) + 1, '):');
for i := Low(a) to High(a) do
begin
for j := Low(a[і]) to High(a[і]) do
write(a[i, j]:5);
writeln
end;
readln;
finalize(a)
end.

P.S. Программа удаляет строку и столбец с первым попавшимся максимальным элементом. Если в матрице есть другие элементы с максимальным значением, то они не рассматриваются.
Конечно, выглядит это безобразно, зато наглядно демонстрирует, что можно обойтись без переменных, хранящих количество строк и столбцов матрицы.
Дорожко Виктор
Дорожко Виктор
51 590
Лучший ответ
100 руб. за все удовольствие...
используй stringgrid
можно решить как в паскале через матрицу, а потом перекинуть в stringgrid
можно но дельфи это компилятор!!!