Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.28;
Скачать: CL | DM;

Вниз

Помогите найти предмаксимум   Найти похожие ветки 

 
MARcoDEN ©   (2002-11-15 18:58) [0]

Доброго времени суток, господа программисты! Очень прошу вас помочь мне вот в чем: имеется код программы (указан ниже), который находит максммальный и минимальный элемент в массиве чисел (как положительных, так и отрицательных). НО! Вдобавок к этому нужно найти предмаксимальный элемент! В этом и состоит загвоздка. Пожалуйста, подскажите, как это сделать! Очень прошу!}

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


 
Андрей Прокофьев ©   (2002-11-15 19:08) [1]

Eсли "предмаксимум" это - следующий за максимальным, то, видимо,
nomer_pmax := 1;
...
if max<mas[i] then
begin
max:=mas[i];
nomer_pmax := nomer_max;
nomer_max:=i;
end



 
Андрей Прокофьев ©   (2002-11-15 19:11) [2]

Я поторопился :(


 
Андрей Прокофьев ©   (2002-11-15 19:21) [3]

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) [4]


{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;


 
MARcoDEN ©   (2002-11-17 11:47) [5]

Спасибо! Буду пробовать!



Страницы: 1 вся ветка

Текущий архив: 2002.11.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
3-92835
MsGuns
2002-11-12 13:44
2002.11.28
Глюк при DisableControls


14-93213
Николай Быков
2002-11-09 14:02
2002.11.28
Чтобы моей будущей маме не было слишком жарко и тесно............


1-93011
dim-
2002-11-18 20:36
2002.11.28
MapInfo


7-93277
dens
2002-09-26 16:43
2002.11.28
Чтение данных из COM-порта


4-93285
KOlios
2002-10-17 00:59
2002.11.28
есть вопрос - использую функцию linedda а в калбэчной левые коорд