Уже лучше
Во первых
переменная
к не инициализирована, перед циклом repeat сделайте k:=0;
Во вторых
зачем вы в цикле делаете
x:=y; ? вы тем самым сбиваете условие выхода из цикла
Перед первым readln в цикле я бы сделал что нибудь типа
writeln('Введите следующую пару символов');, что бы не путаться когда вводить следующую пару
Ну и раз в задаче речь идет о массивах, наверное надо было бы по идее (я так думаю) сначала заполнить эти массивы и лишь потом считать количество пар '*' - но это на ваше усмотрение
Да и условие выхода из цикла не верно
надо или
until (x<>'+') or (y<>'+');
или уж
until not ((x='+') and (y='+'));