Процедура ввода динамического массива, передача его в основную программу - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Хочу разбить на отдельные процедуры ввод и вывод массива символов для дальнейшей работы с ними. Код ниже работает не так как хочется Если правильно понимаю, то ошибся в передаче параметров. Ткните пожалуйста в чем ошибка. Нужно ли использовать указатели, если да, то как?
program test;
var
   A: array of char;
   B: array of char;
   n: integer;
   
procedure vvod(g:array of char; name:char);
var
   i: integer;
begin
   {$I-}
   repeat
   writeln('Введите размер множества ',name,': ');
   readln(n);
   until (IOResult=0);
   {$I+}
   for i:=1 to n do
   begin
      write(name,'[',i,']=');
      readln (g[i]);
   end;
end;  {vvod}
 
procedure vivod(t: array of char; name: char);
var
   i: integer;
begin
   writeln('Множество ',name,': ');
   for i:=1 to n do
      write(t[i],' ');
   writeln;
end;  {vivod}
 
BEGIN
   setlength(A, n);
   vvod(A,'A');
   setlength(B, n);
   vvod(B,'B');
   vivod(A,'A');
   vivod(B,'B');
   A:=nil; B:=nil;
END.

Решение задачи: «Процедура ввода динамического массива, передача его в основную программу»

textual
Листинг программы
 
procedure vvod(var g:TMyArrayChar; name:char);

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы