Тема: комбінований тип в паскалі
Добрий вечір!
Намагалась написати задачу 
умова: у медичній картці кожного студента записано прізвище, ім'я, рік народження, ріст і вага. Потрібно визначити найвижчого і найвищого студнта.
Ось, що вийшло, але програма працює не коректно...Допопможіть, будь ласка!
program medkarta;
type
  stud = record
    pr, im: string[10];
    rikn:1900..2001;
    zrist:100..200;
    vaga:40..150;
    end;
  var
    kartka:array[1..4] of stud;
   maxv,maxz, max, max2,i,j:integer;
begin
   for i:= 1 to 4 do
    with kartka[i] do
  begin
   write('prizv  ');
   readln (kartka[i].pr);
   write('imja   ');
   readln (kartka[i].im);
   write ('vv rist');
   readln (kartka[i].zrist);
   write ('vv vagy');
   readln (kartka[i].vaga);
   write('rik narod ');
   readln(rikn);
  end ;
  for i:=1 to 4 do begin
   max:=kartka[1].vaga;
     maxv:= 1;
   if kartka[i].vaga > max then begin
    max:=kartka[i].vaga;
    maxv:= i;
 end;
end;
 for i:=1 to 4 do begin
  max2:=kartka[1].zrist;
   maxz:= 1;
  if kartka[i].zrist > max2 then begin
    max2:=kartka[i].zrist;
    maxz:= i;
 end;
end;
write(kartka[maxv].pr,'   ',kartka[maxv].zrist,'   ', kartka[maxv].vaga);
write(kartka[maxz].pr,'   ',kartka[maxz].zrist,'   ', kartka[maxz].vaga );
    end.