Dze je subor
www.TrSek.com/zadania/minmax.pas
{ MINMAX.PAS Copyright (c) TrSek alias Zdeno Sekerak }
{ Zostavte program, ktory nacita cisla, ak posledne cislo na vstupe }
{ je "K" /nacitajte/. Urcte minimum a maximum tychto cisel, ich }
{ pocet a cislo "i" jeho index, ktore je najblizsie priemeru }
{ nacitanych cisel }
{ }
{ Datum:04.02.2004 http://www.trsek.com }
program min_max_index;
uses crt;
var c:array[1..100] of real;
k:real;
vstup:real;
min:real;
max:real;
index:real;
delta:real;
ind:integer;
n:integer;
i:integer;
begin
ClrScr;
WriteLn('Program zisti minimalne, maximalne a index z cisel');
Write('Zadaj ukoncovacie cislo k:');
ReadLn(k);
{ pociatocne hodnoty }
n := 0;
index := 0;
{ nacita az pokial nezada vstup=k }
repeat
Write('Zadaj c[',n+1,']=');
ReadLn(vstup);
{ spocitavam sum }
if( vstup <> k )then
begin
n := n + 1;
c[n] := vstup;
index := index + vstup;
end;
until (vstup = k);
{ pociatocne min, max }
min := c[1];
max := c[1];
ind := 1;
{ vypocitaj index }
if( n <> 0 )then
index := index / n;
delta := index;
{ vypocitaj min, max }
for i:=1 to n do
begin
if( c[i] < min )then
min := c[i];
if( c[i] > max )then
max := c[i];
{ je najblizsie }
if(abs( c[i] - index ) < delta )then
begin
delta := abs( c[i] - index );
ind := i;
end;
end;
WriteLn;
WriteLn('Pocet nacitanych cisel je:', n);
WriteLn('Minimalne cislo je:', min:8:3);
WriteLn('Maximalne cislo je:', max:8:3);
WriteLn('Priemer je cislo: ', index:8:3);
WriteLn('Index je:', c[ind]:8:3, ' bolo v poradi:', ind);
ReadLn;
end.
Copyrigth by Zdeno Sekerak 2007,
http://www.trsek.com