Некорректный вывод - Pascal ABC

Формулировка задачи:

Суть проблемы в procedure zadanie_3 При вызове в основной программе происходит некорректный вывод, например, вместо 1 владельца выводит какие-то заоблачные числа. Сама подпрограмма написана верно, пробовал тело процедуры вставить в основную программу, все работает корректно.
program t;
uses crt;
type avtosalon=record
        marka:string[20];
        nomer:string[6];
        god:integer;
        familiya:string[20];
end;
var car:array[1..100] of avtosalon;
    k,i,n:integer;
    kol_marka:string;
 
procedure zadanie_1;
var isk_marka:string;
begin
writeln('Введите искомую марку');
read(isk_marka);
writeln('Владельцы автомобилей данной марки:');
for i:=1 to n do
  if car[i].marka=isk_marka then writeln(car[i].familiya);
end;
 
 
procedure zadanie_3;
var k:integer; kol_marka:string;
begin
writeln('Введите искомую марку');
read(kol_marka);
for i:=1 to n do
  if car[i].marka=kol_marka then k:=k+1;
writeln('Количество автомобилей искомой марки равно ', k);
end;
 
 
 
begin
writeln('Введите количество машин в автосалоне');
read(n);
for i:=1 to n do begin
writeln('Введите данные ', i,'-ой машины');
writeln;
writeln('Введите марку');
read(car[i].marka);
writeln('Введите номер');
read(car[i].nomer);
writeln('Введите год выпуска');
read(car[i].god);
writeln('Введите фамилию владельца');
read(car[i].familiya);
end;
 
 
 
writeln;
zadanie_1;
 
 
writeln;
zadanie_3;
 
 
end.
Добавлено через 59 секунд Задание:вывести количество автомобилей данной марки.

Код к задаче: «Некорректный вывод - Pascal ABC»

textual
type avtosalon=record
        marka:string[20];
        nomer:string[6];
        god:integer;
        familiya:string[20];
end;
 
TCar = array[1..100] of avtosalon; {создаем тип, он будет нужен для объявления
                                                           формальных параметров процедур}
 
var car:TCar;
    k,i,n:integer;
    kol_marka:string;

10   голосов, оценка 4.100 из 5


СОХРАНИТЬ ССЫЛКУ