Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.11.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
3-92853
Мазут Береговой
2002-11-13 00:35
2002.11.28
Вопрос по MS SQL для профессионалов!


1-93009
Peroon
2002-11-19 01:14
2002.11.28
Как узнать положение курсора в области экрана?


1-93069
VJar
2002-11-16 12:02
2002.11.28
Передача процедуры из модуля в модуль


3-92941
Alexandr1
2002-11-06 10:11
2002.11.28
Фильтрация по дате (месяцу)


7-93265
alf_
2002-09-28 04:19
2002.11.28
Работа с мышкой





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский