Возврат функцией/процедурой массива -- как это сделать в Паскаль. Пример
Primary tabs
Вернуть массив из подпрограммы (процедуры или функции)можно через предварительное описание пользовательского типа массива.
Ниже пример описания и вызова функции, возвращающей массив из 8 элементов -- односимвольных строк (то есть строк состоящих из одного символа) -- первых восьми символов введённой пользователем строки:
type
TMyArray = array[1..8] of String; // предвариательное описание типа
var
a: TMyArray; // используем предварительно описанный тип
i: integer;
{Опишем функцию, которая возвращает тип TMyArray --
считывая первые 8 символов введённой пользователем строки,
в качестве входящего аргумента функция принимает
строку-подсказку, для вывода её пользователю}
function getFirst8Symbols(message: string): TMyArray;
var s:string;
arr: TMyArray;
i: integer;
begin
writeln(message);
readln(s);
i:=1;
while ((i <= length(s)) AND (i<=high(arr))) do
begin
arr[i] := s[i];
i:=i+1;
end;
result :=arr;
end;
begin // начало программы
// вызываем функцию, возвращающую массив
a := getFirst8Symbols('Vvedite proizvolnuiu stroku');
{ обойдём массив и выведем значения, чтобы
посмотреть что вернула функция}
writeln('polushaem massiv s elementami:');
for i:=low(a) to high(a) do
begin
write(a[i], ' ');
end;
readln();
end.
- Log in to post comments
- 11644 reads