Я подумал и написал вот такую программу:
Program lab_4;
type xt=array [1..5] of char;
var
x,y:xt; j:integer;
procedure Pr(a,b:xt);
var i,k,n:integer;
begin
k:=0;n:=0;
for i:=1 to 5 do
if a[i] in ['0'..'9'] then
k:=k+1;
for i:=1 to 5 do
if b[i] in ['0'..'9'] then
n:=n+1;
if k>n then
for i:=1 to 5 do
begin
if a[i] in ['a'..'z'] then
a[i]:='*';
if b[i] in ['a'..'z'] then
b[i]:='+';
end;
else
for i:=1 to 5 do
begin
if b[i] in ['a'..'z'] then
b[i]:='*';
if a[i] in ['a'..'z'] then
a[i]:='+';
end;
end;
BEGIN
writeln('vvedite massiv 1:');
for j:=1 to 5 do
readln(x[j]);
writeln('vvedite massiv 2:');
for j:=1 to 5 do
readln(y[j]);
Pr(x,y);
for j:=1 to 5 do
write(x[j]);
writeln;
for j:=1 to 5 do
write(y[j]);
readln;
END.
Проблема в том, что буквы в массивах не меняются на соответствующие символы (хотя массив с наибольшим количеством цифр определяется), и я никак не могу понять почему. Может быть, кто мне поможет. Заранее спасибо.
P.S. В программе обязательное использование процедуры.