Просьба с помощью к программистам.

Работаем в Delphi7. Дали зачетную работу, в которой 5 из 7 заданий мы не проходили, только на Pascal.
6 из 7 заданий сделал.
Не могу последнее, пол ночи просидел, методом подбора пытался скомпилировать программу. Пол Интернета облазил, но правильно переписать код на Delphi не могу.
Помогите, у кого есть свободное время и желание помочь.
Условие:
Дана матрица размера M × N. Найти минимальный среди максимальных элементов ее столбцов.

Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий
https://www.dropbox.com/s/tdil1ffu4xbm5al/Matrix.7z
Держи
раскрыть ветку (14)
Автор поста оценил этот комментарий
облин извращение )
Автор поста оценил этот комментарий
Ошибку дает при выполнении.
Не видел ранее подобного кода.
раскрыть ветку (12)
Автор поста оценил этот комментарий
ты спин эдитами задай сначала размерность, я особо не парился и по умолчанию ничего не задавал, так что по обоим хоть по разу щелки и заполни массив в стринг гриде и будет тебе счастье
раскрыть ветку (11)
Автор поста оценил этот комментарий
Я стринг могу заполнить рандомом.
А вот потом произвести поиск и найти минимум не могу. Посмотри на мой листинг выше в комментариях, может поймешь.
раскрыть ветку (7)
Автор поста оценил этот комментарий
var
res: Real;
i, j: integer;
max: array of real;
begin
for I := 0 to sgMatrix.colCount - 1 do
for j := 0 to sgMatrix.rowCount - 1 do
sgMatrix.Cells[i, j] := FloatToStr(Random(100));
SetLength(max, sgMatrix.colCount);
max[0] := StrToFloat(sgMatrix.Cells[0, 0]);
for I := 0 to sgMatrix.colCount - 1 do
begin
for j := 0 to sgMatrix.rowCount - 1 do
begin
if max[i] < StrToFloat(sgMatrix.Cells[i, j]) then
max[i] := StrToFloat(sgMatrix.Cells[i, j])
end;
end;
res := Max[0];
for I := 0 to Length(max) - 1 do
if res > Max[i] then
res := Max[i];
ShowMessage(FloatToStr(res));
end;
раскрыть ветку (3)
Автор поста оценил этот комментарий
Спасибо тебе большое.
sgMatrix.colCount поменял на strngrd1.colCount (версия другая)
и получилось. Осталось комментарий поставить к новому окну.
Очень тебе благодарен.
раскрыть ветку (2)
Автор поста оценил этот комментарий
Да не за что, в следующий раз попытайся сам разобраться)
раскрыть ветку (1)
Автор поста оценил этот комментарий
Я не подумал выводить через ShowMessage.
Почти тот же листинг, правда ты использовал Real, а не Integer.
У тебя работает на ура, еще раз спасибо!
Автор поста оценил этот комментарий
тут все ошибки исправил

program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

const
m = 5;
n = 5;
Var
mas: array[1..m, 1..n] of integer;
mas_mx: array[1..n] of integer;
i, j, k: byte;
min, max: integer;
begin
randomize;
max := 0;
min := 100;
k := 1;
for i := 1 to m do
begin
for j := 1 to n do
begin
mas[i,j] := random(100);
write(mas[i,j], ' ');
end;
writeln;
end;
for j := 1 to n do
begin
max := 0;
for i := 1 to m do
begin
if (mas[i,j] > max) then
begin
max := mas[i,j];
mas_mx[j] := mas[i,j];
end;
end;
writeln(mas_mx[j]);
end;
for k := 1 to n do
begin
if (mas_mx[k] < min) then min := mas_mx[k];
end;
writeln('Min ', min);
readln;
end.
раскрыть ветку (2)
Автор поста оценил этот комментарий
Спасибо, буду анализировать.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Хы, знал бы что разбираться будешь, комментами бы снабдил)
А изначальный код жопорук писал ничего не представляющий об алгоритмизации. И вообще масса грубейших ошибок.
Автор поста оценил этот комментарий
Ты тут? Мне снова нужна помощь. Я опять ракую. Помогаю другу и опять засрался на последней задаче. Пытался сделать по подобию своей задачи, но никак.
Там надо вывести ответы не через Сообщение, а в Мемо, т.к. их там несколько (в зависимости от строк). Если есть время, то вот условие:
Дана матрица размера M x N. В каждой строке матрицы найти минимальный элемент
раскрыть ветку (2)
Автор поста оценил этот комментарий
var
res: Real;
i, j: integer;
min: Real;
begin
for I := 0 to sgMatrix.colCount - 1 do
for j := 0 to sgMatrix.rowCount - 1 do
sgMatrix.Cells[i, j] := FloatToStr(Random(100));
min := StrToFloat(sgMatrix.Cells[0, 0]);
for I := 0 to sgMatrix.rowCount - 1 do
begin
for j := 0 to sgMatrix.colCount - 1 do
begin
if min > StrToFloat(sgMatrix.Cells[j, i]) then
min := StrToFloat(sgMatrix.Cells[j, i]);
end;
mmoResult.Lines.Add('Минимум строки ' + Floattostr(i) + ' : ' + floattostr(min));
if i + 1 < sgMatrix.rowCount then
min := StrToFloat(sgMatrix.Cells[0, i + 1]);
end;
end;
раскрыть ветку (1)
Автор поста оценил этот комментарий
Спасибо большое)
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку