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

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

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

> Нахождение min и max в массиве
сообщение
Сообщение #1


Бывалый
***

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

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


Чему должно присваиваться значения min и max для программы нахождения максимального числа или минимального числа в массиве? То есть, меня интересует инициализация min и max до цикла. Ведь, по идеи чтобы найти max элемент мы должны первый элемент присвоить какому-то max, затем проверить если какой-то следующий элемент будет больше, чем тот который мы задали, тогда max присвоить этому элементу и т. д. (то есть все это в цикле)
...
max:integer;
...
max:=a[1];
for i:=1 to n do
if a[i]>max then max:=a[i];
...

То же самое для минимального:
...
min:integer;
...
min:=a[1];
for i:=1 to n do
if a[i]<min then min:=a[i];
...


Также ли надо было присваивать для просто введенных с клавы чисел, для которых нам надо было найти min и/или max? То есть:
...
write('vvedite kolvo 4isel');
readln(n);
{naxodim min i/ili max}


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


Бывалый
***

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

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


Так получается?

var
a:array[1..100] of integer;
i,n,min:integer;
begin
writeln('vvedite koli4estvo elementov massiva');
readln(n);
for i:=1 to n do
readln(a[i]);
i:=1;
min:=a[i];
for i:=2 to n do
if a[i]<min then min:=a[i];
writeln('min element ',min);
end.


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


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Зачем ты присваиваешь i единицу?.. Единицу надо присваивать min'у. При этом min превращается в индекс. Вот так:

min:=1;
for i:=2 to n do if a[i]<a[min] then min:=i;
writeln('min element is: a[',min,']=',a[min]);

Кроме самого кода, постарайся отсюда выудить максимум рекомендаций по форматированию.


Добавлено через 6 мин.
Цитата(andriano @ 29.10.2009 9:00) *
А почему?
Я бы, например, не стал рекомендовать исправления, которые могут негативно сказаться на производительности. Тем более в том месте, которое может существенно повлиять на время выполнения программы.
Что за спешка? Когда человеку потребуется скорость - тогда будет выжимать все возможное. Пока же такой цели не ставилось.
Когда спрашивается про "макс/мин элемент массива", я всегда сомневаюсь, что же именно хотят: его значение или индекс. Предпочитаю быть готовым ко всему.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Вячеслав Людской   Нахождение min и max в массиве   27.10.2009 21:35
ammaximus   В идеале max = INF, min = -INF т.е. самое большое …   27.10.2009 22:11
Lapp   Для переменных - границы (например -32767 и 32768 …   29.10.2009 7:59
Вячеслав Людской   Такой вариант считаю неправильным. Причина - не у…   27.10.2009 22:48
volvo   Кто бы говорил про универсальность :dry: А я вот…   27.10.2009 22:54
Error 205   min:=a[1]; for i:=2 to n do if a[i]<min then …   28.10.2009 0:22
Вячеслав Людской   Что ты имеешь в виду? Нда, простите, это действ…   28.10.2009 18:44
Lapp   И все же по-моему такой вариант наиболее правильны…   29.10.2009 7:31
andriano   1. Запоминай не сам минимум, а его индекс. А поче…   29.10.2009 13:00
buy prednisone without a precipi   Fluconazole 200 Mg Yeast Infection   11.10.2021 7:54
buy priligy on the internet with   Viagra Pfizer Presentacion   17.11.2021 0:55
volvo   Если не внести это исправление, то вполне возможно…   29.10.2009 13:34
andriano   Если не внести это исправление, то вполне возможн…   30.10.2009 2:35
Lapp   Видишь ли, ... не понимаешь. Флуд все это.   30.10.2009 4:10
Вячеслав Людской   Так получается? var a:array[1..100] of integer; i…   29.10.2009 18:44
Lapp   Зачем ты присваиваешь i единицу?.. Единицу надо п…   29.10.2009 19:15
Вячеслав Людской   Я до этого не додумался, думал все равно надо i:=1…   29.10.2009 20:54


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

 





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