Поиск и вывод чисел в строке - Pascal
Формулировка задачи:
Ввести текст, содержащий от 1 до 4 цифровых символов, отображающих целые числа от 1 до 2000. На экран вывести введенные числа.
Помогите плиз, скоро выложу свои наброски
Не совсем работающая:
Решение задачи: «Поиск и вывод чисел в строке»
textual
Листинг программы
program lab3_1;
const
alf = ['а'..'я', 'А'..'Я'];
var
text: string;
k, i, l, q: integer;
s: array[1..4] of string;
begin
k := 0;
writeln('Введите текст:');
readln(text);
for i := 1 to length(text) do
begin
k := k + 1;
if (text[k] in alf) then
begin
delete(text, k, 1);
k := k - 1;
end;
end;
Text := text + ' ';
i := 0;
l := 0;
q := length(text);
while q > 0 do
begin
i := i + 1;
q := q - 1;
if text[i] <> ' ' then
begin
l := l + 1;
while text[i] <> ' ' do
begin
s[l] := s[l] + text[i];
i := i + 1;
q := q - 1;
end;
end;
end;
writeln;
for i := 1 to l do
write(s[i], ' ');
end.
Объяснение кода листинга программы
Список действий в коде:
- Введен текст, который необходимо обработать.
- Переменная
kинициализируется значением 0. - В цикле проверяется каждый символ введенного текста.
- Если символ является буквой русского алфавита, он удаляется из строки.
- Переменная
Textравна исходной строке с добавленным пробелом в конце. - Инициализированы переменные
i,lиqсо значениями 0, 0 и длины строки соответственно. - В цикле, пока длина строки больше 0, выполняются следующие действия:
- Переменная
iувеличивается на 1. - Уменьшается значение переменной
qна 1. - Если текущий символ не является пробелом, выполняются следующие действия:
- Переменная
lувеличивается на 1. - В цикле, пока текущий символ не является пробелом, выполняются следующие действия:
- Значение переменной
sравное текущему символу добавляется в массивs. - Переменная
iувеличивается на 1. - Уменьшается значение переменной
qна 1. - Выводится значение переменной
s.
- Переменная