klem4, спасибо за ответ!
Вот написал, но сдается мне, что что-то не сходится 
 Код
program la;
uses crt;
var k:array[1..4] of integer;
i,tmp1,tmp2,imax,imin:integer;
begin;
 clrscr;
 writeln('Vvedite a b c d:');
 readln(k[1],k[2],k[3],k[4]);
 if (k[1]<=k[2]) and (k[2]<=k[3]) and (k[3]<=k[4]) then k[1]:=k[4];
 if (k[1]>k[2]) and (k[2]>k[3]) and (k[3]>k[4]) then else
 begin;
  tmp1:=K[1];
  tmp2:=k[1];
   for i:=2 to 4 do
    begin
     if k[i]>tmp1 then
      begin
       imax:=i;
       tmp1:=k[i];
      end;
     if k[i]<tmp2 then
      begin
       imin:=i;
       tmp2:=k[i];
      end;
    end;
   k[imax]:=k[imin];
 end;
 write('a=',k[1],'b=',k[2],'c=',k[3],'d=',k[4]);
 readkey;
end.
буду благодарен, если кто поможет 
