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

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

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

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


Новичок
*

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

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


Программа нкоректно находит макс и мин, не могу понять в чем проблема!?
Код

VAR  i,maxi,mini,dob,kol:integer;
       a:array[1..4] of integer;
BEGIN
for i:= 1 to 4 do
begin
write('Vvedite chislo N',i,': ');
readln(a[i]);
end;
  maxi:=1;
  mini:=1;
  dob:=1;
  for i:=1 to 4 do
  begin
           if maxi < a[i] then maxi:=i;
           if mini > a[i] then mini:=i;
  end;
       if maxi<mini then
        begin
            i:=maxi; maxi:=mini; mini:=i;
        end;
  for i:=mini  to maxi do
     dob:=dob*a[i];
  Writeln('Dobutok = ',dob);
  readln;
END.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
не могу понять в чем проблема!?
Ты должен или работать с индексами:
  maxi:=1; mini:=1;
for i:=1 to 4 do begin
if a[maxi] < a[i] then maxi:=i;
if a[mini] > a[i] then mini:=i;
end;

или с элементами:
  maxi:= -maxint; mini:= maxint; { <--- Смотри чему равно в начале !!! }
for i:=1 to 4 do begin
if maxi < a[i] then maxi:=i;
if mini > a[i] then mini:=i;
end;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


Поменял! всеравно не хочет работать!



VAR i,maxi,mini,dob,kol:integer;
a:array[1..4] of integer;
BEGIN
for i:= 1 to 4 do
begin
write('Vvedite chislo N',i,': ');
readln(a[i]);
end;
maxi:=1;
mini:=1;
dob:=1;
for i:=1 to 4 do
begin
if a[maxi] < a[i] then maxi:=i;
if a[mini] > a[i] then mini:=i;
end;
if maxi<mini then
begin
i:=maxi; maxi:=mini; mini:=i;
end;
for i:=mini to maxi do
dob:=dob*a[i];
Writeln('Dobutok = ',dob);
readln;

END.

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


Гость






А я не телепат, чтобы понять, ЧТО именно ты пытаешься сделать, и какой результат тебе нужно получить... Задание ты не привел, так что...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

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

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


Короче задача такая: нужно найти произведение элементов массива которые находятся между максимальным и минимальным элементами этого массива. Но программа выдает неверный результат!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

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


При нахождении min и max запоминать также и их индексы
Код
   if a[maxi] < a[i] then maxi:=i;
    if a[mini] > a[i] then mini:=i;

if mini > maxi then
{ поменять их местами }
А затем подсчитать произведение
Код
p:=1;
for i:=mini to maxi
  p:=p*a[i];


Сообщение отредактировано: Ozzя -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

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

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


Так я это и делаю! Но прога не работает, вернее работает только выдает неверный результат!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

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


Ты будешь сметяься sad.gif
Но она у тебя прекрасно работает, только что проверил
На каких числах ты проверяшь?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

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

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


Точно! Это я торможу а не прога! Просто я проверял результат не включая максимальный и минимальные элементы!
Все спасибо! good.gif

Сообщение отредактировано: PORTUGAL -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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