Так, почти хорошо. Правда, сразу замечание: команды ClrScr и ReadKey в состав языка не входят, а реализуются через подключаемый модуль CRT, а потому, если уж Вы их используете, необходимо в самом начале поставить "Uses CRT;". Далее, внимательнее относитесь к написанию идентификаторов: в разделе описания Вы задаете переменную "mas", а в теле программы работаете с переменной "max". Уж выберите что-то одно. Поймите, текст программы - это не письмо возлюбленному, который сквозь пальцы посмотрит на описки, неряшливости и пр., здесь требуется абсолютная точность и выверенность каждого значка, иначе компьютер начнет плеваться, ибо "общих соображений" он напрочь не понимает. Продолжаем. Исходное значение максимума Вы задаете, как x[i], а надо - x[1]. Массив Y вообще не введен и не обработан. Потом - "слепой" ввод крайне неудобен, лучше с подсказками. Ну вроде всё.
Код:
Uses CRT;
Var
x:array[1..15] of word;
k,i,n:word;
max:word;
Y:array[1..12] of word;
Begin
CLRSCR;
n:=15;
k:=1;
write('x[ 1]= ');
Readln(x[1]);
max:=x[1];
For i:=2 to n do
begin
write('x[',i:2,']= ');
Readln(x[i]);
If max<x[i] then
begin
max:=x[i];
k:=i;
end;
end;
Writeln('максимум в массиве x: ',max);
Writeln('номер максимума в массиве x: ',k);
Writeln;
n:=12;
k:=1;
write('Y[ 1]= ');
Readln(Y[1]);
max:=Y[1];
For i:=2 to n do
begin
write('Y[',i:2,']= ');
Readln(Y[i]);
If max<Y[i] then
begin
max:=Y[i];
k:=i;
end;
end;
Writeln('максимум в массиве Y: ',max);
Writeln('номер максимума в массиве Y: ',k);
Readkey ;
End.
Ну а теперь изобразим это дело через процедуры, коих опишем две: процедуру ввода массива и процедуру поиска максимума. Для начала придется ввести тип переменной Ar - без этого передать массив в процедуру и вывести из процедуры нельзя. Также будем передавать число элементов массива и его имя (один символ). Заметьте, что в шапке процедуры входные параметры перечисляются обычным образом, а вот перед выходными ставится "var". Посмотрите, если возникнут вопросы - спрашивайте.
Код:
Uses CRT;
Type
Ar=Array[1..15] of word;
Var
x,Y:Ar;
k,n:word;
max:word;
Procedure Inp(Nz:word; Name:Char; var z:Ar);
Var i:word;
begin
for i:=1 to Nz do
begin
write(Name,'[',i:2,']= ');
readln(z[i]);
end;
end;
Procedure Maxim(z:Ar; Nz:word; var Mxm:word; var Km:word);
Var i:word;
begin
Mxm:=z[1];
Km:=1;
for i:=2 to Nz do
If Mxm<z[i] then
begin
Mxm:=z[i];
Km:=i;
end;
end;
Begin
CLRSCR;
n:=15;
Inp(n, 'x', x);
Maxim(x,n,max,k);
Writeln('Maximum in x array: ',max);
Writeln('Number of maximum in x array: ',k);
Writeln;
n:=12;
Inp(n, 'Y', Y);
Maxim(Y,n,max,k);
Writeln('Maximum in Y array: ',max);
Writeln('Number of maximum in Y array: ',k);
Readkey ;
End.