Задача 6 Урок 17
Primary tabs
Пользователь вводит строку произвольных символов, выделите из неё массив
первых 8 строковых литералов, которые являются числами.
И выведите эти числа на экран.
Например, из строки:
rew2@#$$#435tr353453t4er4
должны быть выделены подстроки:
2
435
353453
4
4
type ar = array[1..8] of string;
var s0: string;
arr: ar;
procedure p1(var arr1: ar);//вносим в ячейки ''
var i1: integer;
begin
for i1 := 1 to length(arr1) do
arr1[i1] := '';
end;
procedure p2(arr1: ar);// печать массива
var i1: integer;
begin
for i1 := 1 to length(arr1) do
if (arr1[i1] <> '') then
writeln(arr1[i1]);
end;
function f1(s: string; arr1: array of string): ar;//сохранаяем числа в ячейки
var i, t{счетчик для записи в массив строк}: integer;
b{флаг первой строки}: boolean;
begin
b := false;
t := 0;
for i := 1 to length(s) do
begin
if (s[i] >= '0') and (s[i] <= '9') then
begin
if (not b) then
begin
inc(t);
b := true;
arr1[t] := arr1[t] + s[i];
end
else if b then
begin
arr1[t] := arr1[t] + s[i];
end;
end
else
b := false;
end;
result := arr1;
end;
begin
writeln('Введите строку');
readln(s0);
// s0 := 'rew2@#$$#435tr353453t4er4';
p1(arr);//очищаем значения массива
arr := f1(s0, arr);//получили массив из строки
p2(arr);//печать массива
readln();
end.
КОНСОЛЬ
Введите строку hgb63hbh5b4jb456kjhb5b4jh6bbhjbl 63 5 4 456 5 4 6
- Log in to post comments
- 709 reads