![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите найти предмаксимум [D5, WinXP]
MARcoDEN © (2002-11-15 18:58:00)Доброго времени суток, господа программисты! Очень прошу вас помочь мне вот в чем: имеется код программы (указан ниже), который находит максммальный и минимальный элемент в массиве чисел (как положительных, так и отрицательных). НО! Вдобавок к этому нужно найти предмаксимальный элемент! В этом и состоит загвоздка. Пожалуйста, подскажите, как это сделать! Очень прошу!}
program min_max;
var
mas: array[1..10] of integer;
nomer_max, nomer_min, max, min, i: integer;
begin
{fulfill and display the massive}
write("Massive elements: ");
randomize;
for i:=1 to 10 do
begin
mas[i]:=-100+random(255);
write("[",mas[i],"] ");
end;
{temp values}
max:=mas[1]; nomer_max:=1;
min:=mas[1]; nomer_min:=1;
{search for minimum and maximum}
for i:=2 to 10 do
if max<mas[i] then
begin
max:=mas[i];
nomer_max:=i;
end
else if min>mas[i] then
begin
min:=mas[i];
nomer_min:=i;
end;
{outputting results}
writeln("");
writeln("Minimum: ",min,"; number - ",nomer_min);
writeln("Maximum: ",max,"; number - ",nomer_max);
readln;
end.
С уважением,
MARcoDEN
MARcoDEN (2002-11-17 11:47:00) [1]Спасибо! Буду пробовать!
Андрей Прокофьев (2002-11-15 19:21:00) [2]pmax, nomer_pmax : Integer;
pmax := mas[i];
nomer_pmax := 1;
for i:=2 to 10 do
if max<mas[i] then
begin
pmax := max;
nomer_pmax := nomer_max;
max:=mas[i];
nomer_max:=i;
end
else if min>mas[i] then
begin
min:=mas[i];
nomer_min:=i;
end
else if pmax < mas[i] then
begin
pmax := mas[i];
nomer_pmax := i;
end;
TTCustomDelphiMaster (2002-11-15 19:21:00) [3]
{temp values}
max:=mas[1]; nomer_max:=1;
pmax:=max;
min:=mas[1]; nomer_min:=1;
{search for minimum and maximum}
for i:=2 to 10 do
begin
if pmax=max and pmax>mas[i] then
pmax:=mas[i];
if max<mas[i] then
begin
pmax:=max;
max:=mas[i];
nomer_max:=i;
end;
end;
Андрей Прокофьев (2002-11-15 19:11:00) [4]Я поторопился :(
Андрей Прокофьев (2002-11-15 19:08:00) [5]Eсли "предмаксимум" это - следующий за максимальным, то, видимо,
nomer_pmax := 1;
...
if max<mas[i] then
begin
max:=mas[i];
nomer_pmax := nomer_max;
nomer_max:=i;
end