Načíta N hodnôt. Určí 2 najmenšie a 2 najväčšie čísla.

Delphi & Pascal (česká wiki)
Přejít na: navigace, hledání
Kategorija: Zadaňa zos Pascalu

Program: Min2max2.pas
Subor exe: Min2max2.exe
Vyvojak: Min2max2.gif

Načíta N hodnôt. Určí 2 najmenšie a 2 najväčšie čísla.
{ MIN2MAX2.PAS              Copyright (c) TrSek alias Zdeno Sekerak }
{ Zostavte program, ktory nacita N hodnot.                          }
{ Urcte 2 najmensie a 2 najvacsie cisla.                            }
{                                                                   }
{ Datum:04.02.2004                             http://www.trsek.com }
 
program min2_max2;
uses crt;
var v:array[1..100] of real;
    i:integer;
    n:integer;
    min1:real;
    min2:real;
    max1:real;
    max2:real;
 
begin
     ClrScr;
     WriteLn('Program zisti 2 najmensie a 2 najvacsie cisla');
     Write('Zadaj pocet cisel. Maximalne 100. N=');
     ReadLn(n);
 
     { nacita n-krat cisla do pola }
     for i:=1 to n do
     begin
        Write('Zadaj cislo[',i,']=');
        ReadLn(v[i]);
     end;
 
     { inicializacia min1, max1 }
     min1 := v[1];
     max1 := v[1];
 
     { pohladame najmensie najvacsie }
     for i:=1 to n do
     begin
        { najmensie cislo }
        if( v[i] < min1 )then
            min1 := v[i];
 
        { najvacsie cislo }
        if( v[i] > max1 )then
            max1 := v[i];
     end;
 
     { inicializacia min2, max2 }
     min2 := max1;
     max2 := min1;
 
     { pohladame dalsie najmensie a najvacsie }
     for i:=1 to n do
     begin
        { dalsie najmensie cislo }
        if(( v[i] < min2 ) and (v[i] > min1 ))then
            min2 := v[i];
 
        { dlasie najvacsie cislo }
        if(( v[i] > max2 ) and (v[i] < max1 ))then
            max2 := v[i];
     end;
 
     WriteLn;
     WriteLn('Najmensie cislo je:       ', min1:8:3);
     WriteLn('Dalsie najmensie cislo je:', min2:8:3);
     WriteLn;
     WriteLn('Najvacsie cislo je:       ', max1:8:3);
     WriteLn('Dalsie najvacsie cislo je:', max2:8:3);
     ReadLn;
end.