Главная страница
    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.007 c
4-93280
tretmike
2002-10-16 11:09
2002.11.28
popup menu with pure WinAPI


3-92841
Senator
2002-11-12 15:52
2002.11.28
SQLClientDataSet


1-93092
ЖЕНЕК
2002-11-16 22:54
2002.11.28
Звиняйте конечно....


8-93153
VEG
2002-07-28 00:22
2002.11.28
BASS.DLL version 1.5a


14-93251
Anatoly Podgoretsky
2002-11-10 10:04
2002.11.28
Именинники 10 ноября





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский