Помощь - Поиск - Пользователи - Календарь
Полная версия: Массив
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Kylich
Такой вопрос.
Как в массиве выделить найденные элементы?
maksimla
Мне кажется что нельзя выделить элемент. Можно только поменять местами найденный элемент, изменить найденный элемент, найденный элемент сделать какой то переменной. Кажется и все но я могу ошибаться.
Kylich
Цитата(maksimla @ 24.10.2009 9:12) *

изменить найденный элемент

Вот как раз это я и спрашиваю.
Допустим ввёл масссив
3 1 5
2 9 7
4 6 8
допустим нашли минимальные элементы для каждого столбца- 2 1 5. И вот эти числа не вывести рядом с массивом,а именно в массиве показать(не важно каким способом-либо выделили другим цветом, либо выдел. скобками,миганием) найденные числа.Примерно вот так

3 [1] [5]
[2] 9 7
4 6 8
Скорей всего это надо сделать с помощью boloean'овой переменной,когда первый минимальный элемент отыщется эта переменная запоминает её место нахождение, а потом выделяет её любым способом. Вот сейчас пробую с этой переменной, но только с таким типом ничего подобного не решал.
Lapp
Цитата(Kylich @ 24.10.2009 9:35) *
Вот как раз это я и спрашиваю.
Допустим ввёл масссив
3 1 5
2 9 7
4 6 8
допустим нашли минимальные элементы для каждого столбца- 2 1 5. И вот эти числа не вывести рядом с массивом,а именно в массиве показать(не важно каким способом-либо выделили другим цветом, либо выдел. скобками,миганием) найденные числа.Примерно вот так

3 [1] [5]
[2] 9 7
4 6 8
Скорей всего это надо сделать с помощью boloean'овой переменной,когда первый минимальный элемент отыщется эта переменная запоминает её место нахождение, а потом выделяет её любым способом. Вот сейчас пробую с этой переменной, но только с таким типом ничего подобного не решал.
Тип boolean никак не поможет тебе в запоминании местонахождения.
В общем случае, без привлечения дополнительных переменных - maksimla прав, никак (+1 ему)).

Но если привлекать можно - сделай массив целых чисел max по числу столбцов, в который клади найденные позиции. А при выводе - сверяйся с ним.
Kylich
А если вввести массив, и вывести рядом с ним этот же, но только уже с найденными элементами?
Lapp
Цитата(Kylich @ 24.10.2009 10:08) *
А если вввести массив, и вывести рядом с ним этот же, но только уже с найденными элементами?
Представь себе, что ты нашел на карте нужное место - город или улицу. Карта от этого изменилась? Нет конечно (рисовать на карте метки не разрешается).

Вот как-то так попробуй сделать:
for j:=1 to m do begin  {поиск минимальных элементов в столбцах}
min[j]:=1;
for i:=2 to n do if a[i,j]<a[min[j],j] then min[j]:=i;
end;

for i:=1 to n do begin {вывод матрицы}
for j:=1 to m do begin
if i=min[j] then TextColor(Red) else TextColor(LightGray);
Write(a[i,j]:4)
end;
WriteLn
end;
Kylich
С филосовской точки зрения про карту и всё остальное ты прав, но со стороны программирования это же возможно,тем более ты сам это доказал своим кодом.
maksimla
Lapp не изменил сам массив а выделил только, как по карте один раз город нашел и знаешь где этот город находится и быстрее на карте найдешь его опять
Lapp
Цитата(Kylich @ 24.10.2009 10:54) *
С филосовской точки зрения про карту и всё остальное ты прав, но со стороны программирования это же возможно,тем более ты сам это доказал своим кодом.
Ессно, возможно. Но ты так ставишь вопрос, что постоянно кажется, что ты хочешь как-то изменить сам массив, чтоб отметить нужное. Типа обвести кружочками. Это, разумеется, не имеет никакого смысла.

Как видишь, не у одного меня такое впечатление. Так что постарайся как-то иначе спрашивать. Иначе говоря, если не ставить ограничений, то в программировании возможно практически все)). Вопрос - как, и какими затратами.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.