Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Мин элемент каждого столбца матрицы

Автор: DZZRtt 12.04.2007 13:17

Нужно найти минимальный элемент каждого столбца матрицы
Програмку я написал все работает.


for J:=1 to m do begin
min:=a[1,j]; minj:=1;
for i:=1 to n do begin
if a[i,j]<min then min:=A[i,j];
minj:=j;
end;
writeln ('Минимальный элемент столбца № ',minj,' =',min);


Остальное приводить не стал, там просто описание переменных и ввод/вывод матрицы.
Вот только вопрос почему при описании цикла первым указывается столбец
Код
for J:=1 to m do begin
, а затем уже строка
Код
for i:=1 to n do begin
,
просто перебрал кучу вариантов и только в этом работало как надо.

Автор: мисс_граффити 12.04.2007 13:29

если перевести на русский:

Код
для каждого столбца {
  считаем минимальным первый в столбце элемент
  спускаемся по строкам
    если элемент на пересечении данного столбца и данной строки меньше минимума
      считаем минимумом его}

то есть так мы выбираем столбец и идем по его элементам.
если бы искали минимум в строке - первый цикл был бы по строкам.
for i:=1 to n do begin

можешь начинать не с 1, а с 2 - первый элемент ты уже рассмотрел.

Автор: volvo 12.04.2007 13:30

А зачем варианты-то перебирать? В задании же ясно сказано: минимум в столбце, значит первый индекс матрицы (номер строки) изменяется быстрее... Отсюда следует, что первый индекс должен меняться во внутреннем цикле.