Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2009, 08:13   #1
HD-boy
Пользователь
 
Регистрация: 23.11.2009
Сообщений: 11
По умолчанию Delphi. Массивы.

Здравствуйте. Есть задача на расчет суммы массивов.
Помогите пожалуйста поменять местами максимальный и минимальный элемент первого массива, при нажатии на кнопку.
Заранее благодарю.
Вложения
Тип файла: zip Задача.zip (192.0 Кб, 9 просмотров)
HD-boy вне форума Ответить с цитированием
Старый 23.11.2009, 08:47   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Сделай четыре глобальные пременные для запоминания координат минимума и максимума:
Код:
qx,qy,wx,wy,mn,mx:integer;
Далее в цикле где массив наполняешь ищи экстремумы
Код:
for i:=1 to n do
for j:=1 to m do    begin
Mas1[i,j]:=random(10);
Mas2[i,j]:=random(10);
if mas1[i,j]>mx then begin qx:=i;qy:=j; mx:=mas1[i,j]; end;
if mas1[i,j]<mn then begin wx:=i;wy:=j;mn:=mas1[i,j]; end;
А после меняй их местами:
Код:
tag:=mas1[qx,qy];
mas1[qx,qy]:=mas1[wx,wy];
mas1[wx,wy]:=tag;
Все ясно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.11.2009, 11:16   #3
HD-boy
Пользователь
 
Регистрация: 23.11.2009
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Далее в цикле где массив наполняешь ищи экстремумы
Код:
for i:=1 to n do
for j:=1 to m do    begin
Mas1[i,j]:=random(10);
Mas2[i,j]:=random(10);
if mas1[i,j]>mx then begin qx:=i;qy:=j; mx:=mas1[i,j]; end;
if mas1[i,j]<mn then begin wx:=i;wy:=j;mn:=mas1[i,j]; end;
А после меняй их местами:
Код:
tag:=mas1[qx,qy];
mas1[qx,qy]:=mas1[wx,wy];
mas1[wx,wy]:=tag;
Ну как найти экстремумы прописал, а менять местами надо прям сразу после этих строк (где экстремумы ищем)?

Сделал так, при запуске случайным вводом чисел, в первой ячейке неизменно стоит число "2117597462".

З.Ы. А каким образом элементы будум местами меняться?
HD-boy вне форума Ответить с цитированием
Старый 23.11.2009, 14:57   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Сделал так, при запуске случайным вводом чисел, в первой ячейке неизменно стоит число "2117597462".
Ну знач проинициализируй перед циклами
Код:
mx:=-MAXINT
mn:=MAXINT;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.11.2009, 16:26   #5
HD-boy
Пользователь
 
Регистрация: 23.11.2009
Сообщений: 11
По умолчанию

Так как все таки сделать так, чтобы элементы местами менялись?
Прописал текст, который вы написали выше, все работает, спасиб.
А вот с самой заменой проблемка=(
HD-boy вне форума Ответить с цитированием
Старый 27.11.2009, 17:00   #6
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

http://www.programmersforum.ru/showthread.php?t=70310
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы (Delphi) 777UFO777 Помощь студентам 4 19.01.2010 16:51
массивы в delphi grozzy Помощь студентам 5 22.10.2009 02:22
Delphi массивы Misty Помощь студентам 2 25.05.2009 07:51
Массивы Delphi forumu Помощь студентам 2 11.01.2008 10:07