При чтении с терминала п/п ввода read принимает данные с клавиатуры, в том числе и символ #$D , он же CR, он же "возврат каретки". В результате во внутреннем буфере строка выглядит как AnyPressedKeys+#$D и продолжает ожидать дальнейшего ввода символов.
Надо использовать побайтное чтение
|
Код:
|
var
b:array [1..100] of byte;
t:string;
n,i:byte;
begin
write('Введите число подстрок:'); readln (n);
write('Введите длины подстрок, разделяя их пробелами:');
for i:=1 to n do read(b[i]);
for i:=1 to n do
begin
t:='';
for j:=1 to b[i] do begin read(ch); t:=t+ch; end;
writeln('Получена очередная подстрока [', i, '] -->')
end;
end. |
И наконец, приведенная программа не будет даже компилироваться - отсутствует закрывающая структурная скобка end.