IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Массив, Поменять местами минимальный и максимальный элемент массива
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Женский
Реальное имя: Софья

Репутация: -  0  +


Подскажите, как до ума довести такую задачку?
Поменять местами максимальный и минимальный элемент массива размера 10.
Задача вроде легкая, я нашла максимальный и минимальный элемент, а поменять их местами не получается

max:=a[1]; min:=a[1];
for i:=1 to n Do
begin
if max < a[i] then begin
max:=a[i]; end; end;

for i:=1 to n Do
begin
if min > a[i] then begin
min:=a[i];
end; end;

writeln (max,min);
writeln;
{for i:=1 to n Do

Vs:=max;
max:=min;
min:=Vs;} - что в этой части не так?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 559
Пол: Мужской
Реальное имя: Бруно

Репутация: -  10  +


Для начала надо знать, что делать если несколько маскимальных элементов встречается и минимальных ? (например если их количество одинаково, тут всё ясно, а если 3 максимальных и 2 минимальных или наобарот, то какие из них менять?)


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Иллюзия мира
***

Группа: Пользователи
Сообщений: 180
Пол: Женский

Репутация: -  4  +


for i:=1 to n do 
begin
if a[i]=min then a[i]:=max;
if a[i]=max then a[i]:=min;
end;

попробуй так
for i:=1 to n Do
begin
if min > a[i] then begin
min:=a[i];
end; end;

незачем столько ставить
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





Группа: Пользователи
Сообщений: 9
Пол: Женский
Реальное имя: Софья

Репутация: -  0  +


Все равно не получается. А если использовать вспомогательную ячейку? И как это написать? Софа
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Иллюзия мира
***

Группа: Пользователи
Сообщений: 180
Пол: Женский

Репутация: -  4  +


for i:=1 to 5 do
begin
if a[i]=min then a[i]:=max
else
if a[i]=max then a[i]:=min;
end;

да, ошилась..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Цитата
Задача вроде легкая, я нашла максимальный и минимальный элемент, а поменять их местами не получается
Чтобы их поменять местами, надо находить не сами макс./мин. элементы, а их индексы (назовем их, к примеру, i_min и i_max)... Тогда после того, как индексы найдены - делать так:

Vs:=a[i_max];
a[i_max]:=a[i_min];
a[i_min]:=Vs;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





Группа: Пользователи
Сообщений: 9
Пол: Женский
Реальное имя: Софья

Репутация: -  0  +


Получилось! Спасибо всем!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 21:28
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name