Задача - Отфильтровать из строки числа - программирование на разных языках

Задача — Отфильтровать из строки числа — программирование на разных языках

Задачи по программированию с решением для школьников
Want create site? Find Free WordPress Themes and plugins.

Задача — Отфильтровать из строки числа
— программирование на Pascal, Си, Кумир, Basic-256, Python

Вводится строка, содержащая буквы, целые неотрицательные числа и иные символы. Требуется все числа, которые встречаются в строке, поместить в отдельный целочисленный массив. Например, если дана строка «data 48 call 9 read13 blank0a», то в массиве должны оказаться числа 48, 9, 13 и 0.

Если очередной символ строки оказывается цифрой (принадлежит диапазону от ‘0’ до ‘9’), то его надо добавить в отдельную изначально пустую строку. Проверяя последующие после него символы на принадлежность тому же диапазону, добавлять их в конец той же строки. Это следует делать до тех пор, пока очередной символ окажется не цифрой. В этом случае надо сформированную до этого строку из цифр преобразовать в число и добавить в целочисленный массив. Саму же строку «очистить», т.е. присвоить пустую строку.

Pascal

var
int: array[1..10] of integer;
i, j: integer;
strinput, str: string;
a: char;
n: byte;

begin
i := 1;
j := 1;
readln(strinput);
n := length(strinput);
while i <= n do begin
str := »;
a := strinput[i];
while (a >= ‘0’) and (a <= ‘9’) do begin
str := str + a;
i := i + 1;
a := strinput[i] end;
i := i + 1;
if str <> » then begin
val(str,int[j]);
j := j + 1;

end;
end;

for i := 1 to j — 1 do
writeln(int[i]);
end. ab 56df ;s9 0 k
56
9
0

Python

s = input()
l = len(s)
integ = [] i = 0
while i < l:
s_int = »
a = s[i] while ‘0’ <= a <= ‘9’:
s_int += a
i += 1
if i < l:
a = s[i] else:
break
i += 1
if s_int != »:
integ.append(int(s_int))

print(integ) 3 432 kdj3
[3, 432, 3]

Did you find apk for android? You can find new Free Android Games and apps.

Добавить комментарий