Помощь - Поиск - Пользователи - Календарь
Полная версия: Двумерный массив!
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Натика
Дан двумерный массив. Нужно заменить элементы, стоящие левее и ниже максимального элемента, на цифру 1.
Максимальный элемент нашла, но не знаю как в программе указать,какие элементы стоят левее и ниже максимального.
Tan
Допустим координаты максимального [x][y], тогда координаты элемента левее [x][y-1], а ниже [x + 1] [y]. При всём этом не забывай проверять возможность выхода за границы массива, то есть в твоём случае невозможно найти элемент левее максимального, если максимальный находится в 1й колонее, а также невозможно найти элемент ниже максимального, если максимальный находится в последней строке.
мисс_граффити
когда ты найдешь максимум, запомни не его значение, а "координаты" - номер строки и столбца (например, в переменные maxi и maxj)
а потом напиши цикл типа такого (массив [1..n,1..n]):
for i:=maxi+1 to n {строки ниже}
for j:=1 to maxj-1 do {столбцы левее}
ar[i,j]:=1;

это для элементов, который одновременно находятся левее и ниже (то есть так:
2 2 3
4 m 2
з 2 2

m-максимум, з - элемент, который заменяем.
или нужно заменить и те, которые левее (не важно - выше или ниже), и те, которые ниже (не важно - левее или правее)?
Гостья
или нужно заменить и те, которые левее (не важно - выше или ниже), и те, которые ниже (не важно - левее или правее)?

Нужно заменить все, которые выше или ниже. Например, в массиве 2 3 4
5 м 2
4 7 8
должно стать так: 1 3 4
1 м 2
1 1 1
(м-максим. элемент)
volvo
Значит, чуть по-другому:
for i := 1 to n do
for j := 1 to n do
if (i > max_i) or (j < max_j) then ar[i, j] := 1;

Гостья
когда ты найдешь максимум, запомни не его значение, а "координаты" - номер строки и столбца (например, в переменные maxi и maxj)

А как запомнить координаты (номер строки и столбца) максимума?
мисс_граффити
Запомнить элемент!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.