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  +


Цитата
Кто бы говорил про универсальность
Что ты имеешь в виду?

Цитата
зачем после присваивания минимуму первого лемента сразу сравниваем его с первым элементом
Нда, простите, это действительно было глупо yes2.gif

Цитата
И не только... Но что еще - это тебе задание на дом...
Да же не знаю, что еще не так... С дом. заданием я не справился... nea.gif

И все же по-моему такой вариант наиболее правильный:
var
a:array[1..100] of integer;
i,min:integer;
begin

for i:=1 to 5 do
readln(a[i]);

min:=a[1];
for i:=2 to 5 do
if a[i]<min then min:=a[i];

writeln('min element ',min);

end.
Или я опять не прав?







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


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

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

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


Цитата(Вячеслав Людской @ 28.10.2009 14:44) *
И все же по-моему такой вариант наиболее правильный:
var
a:array[1..100] of integer;
i,min:integer;
begin

for i:=1 to 5 do
readln(a[i]);

min:=a[1];
for i:=2 to 5 do
if a[i]<min then min:=a[i];

writeln('min element ',min);

end.
Или я опять не прав?

Извиняюсь за встревание.. Если говорить о "наиболее правильном" варианте, то все же не так.

1. Запоминай не сам минимум, а его индекс. Соответственно, измени инициализацию, сравнение и вывод. Это повысит ту самую универсальность, о которой ты говорил.

2. Убери явное использование чисел из верхних границ циклов. Используй переменные или константы.

3. Пока ты не научишься нормально форматировать код, я бы на месте твоего преподавателя ставил не больше тройки. Считаю это ошибкой, причем грубой.

Итого: двойка yes2.gif .


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


Гость






Viagra Pfizer Presentacion
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Вячеслав Людской   Нахождение 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

 





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