program k4;
uses
crt;
var
i,j,k,n,c,m,p,max:integer;
a:array [1..100, 1..100] of integer;
b: array[1..100] of integer;
f:boolean;
{функция определения разряда}
function Raz(c:integer):integer;
var
temp,k:integer;{тут лучше объявлять для процедуры\функции свои переменные, так будет правильнее}
begin
temp:=c;{<<во первых надо заносить во временную переменную так как числа могут еще пригодиться нужно запомнить это как привило, либо если они нигде больше не используются указывать как выходной параметр функции}
k:=0;
while temp<>0 do{заменил цикл, потому как тот был неверно построе, а здесь больше подойдет while со своим "пока"}
begin
temp:=temp div 10;
inc(k);{тут заменил k:=k+1 так более правильно}
end;
Raz:=k{тут еше я убрал с цикла присвоение функции, потому как функции должно что то присваиваться только один раз}
end;
{основная программа}
begin
writeln('Задайте количество строк...');
readln(n);
writeln('Задайте количество столбцов...');
readln(m);{не хватает ввода размера матрицы, нельзя читать её не указывая размер}
writeln('Задайте матрицу размером ',n,'x',m,'...');{и больше пишите строк оформления, не стисняйтесь, зато не запутаетесь в своём коде, а то без них каша получается}
for i:=1 to n do
for j:=1 to m do
begin
write('Элемент a[',i,',',j,']:');
readln(a[i,j])
end;
p:=0;{это будет счетчик количества строк в которых все эл-ты одного разряда}
for i:=1 to n do{будем "бежать" по матрице вдоль строк}
begin
k:=Raz(a[i,1]);{запоминаем размерность первого элементы каждой строки}
f:=true;{предположим что строка у вся из элементов одного разряда}
for j:=2 to m do{начинаем со второго так как первый мы уже запомнили}
if Raz(a[i,j])<>k then{если разряды разные}
f:=false;{тогда наше предположение оказалось неверным и мы меняем флажок}
if f then{если все осталось так как мы и предполагали}
begin
inc(p);{тогда заносим данную строку в массив}
b[p]:=i
end;
end;
if p=0 then{ну а дальше я думаю комментить уже нечего, просто выводим массив}
write('Таких строк нет!')
else
begin
writeln('Массив:');
write('[ ');
for i:=1 to p do
write(b[i],' ');
writeln(']')
end;
readln;
end.