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

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

Форум «Всё о Паскале» _ Задачи _ Двумерный массив!

Автор: Натика 4.11.2007 4:47

Дан двумерный массив. Нужно заменить элементы, стоящие левее и ниже максимального элемента, на цифру 1.
Максимальный элемент нашла, но не знаю как в программе указать,какие элементы стоят левее и ниже максимального.

Автор: Tan 4.11.2007 5:38

Допустим координаты максимального [x][y], тогда координаты элемента левее [x][y-1], а ниже [x + 1] [y]. При всём этом не забывай проверять возможность выхода за границы массива, то есть в твоём случае невозможно найти элемент левее максимального, если максимальный находится в 1й колонее, а также невозможно найти элемент ниже максимального, если максимальный находится в последней строке.

Автор: мисс_граффити 4.11.2007 5:39

когда ты найдешь максимум, запомни не его значение, а "координаты" - номер строки и столбца (например, в переменные 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-максимум, з - элемент, который заменяем.
или нужно заменить и те, которые левее (не важно - выше или ниже), и те, которые ниже (не важно - левее или правее)?

Автор: Гостья 4.11.2007 16:09

или нужно заменить и те, которые левее (не важно - выше или ниже), и те, которые ниже (не важно - левее или правее)?

Нужно заменить все, которые выше или ниже. Например, в массиве 2 3 4
5 м 2
4 7 8
должно стать так: 1 3 4
1 м 2
1 1 1
(м-максим. элемент)

Автор: volvo 4.11.2007 16:28

Значит, чуть по-другому:

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;


Автор: Гостья 4.11.2007 17:02

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

А как запомнить координаты (номер строки и столбца) максимума?

Автор: мисс_граффити 5.11.2007 4:36

http://forum.pascal.net.ru/index.php?showtopic=19955