Урок 17 Задача 6
Primary tabs
Пользователь вводит строку произвольных символов, выделите из неё массив первых 8 строковых литералов, которые являются числами. И выведите эти числа на экран.
var s: string; i, // счетчик, общий для внешнего и вложенного циклов j: integer; // счетчик элементов (строк) в массиве m: array [1..8] of string; // массив из восьми строк begin write ('Введите строку: '); readln(s); i:= 0; j:= 0; while not (i > length(s)) do // цикл для обхода строки begin i:= i+1; if (s[i]>='0')and(s[i]<='9') then // если встретилось число begin j:= j + 1; // увеличиваем счетчик массива строк if j > high(m) then break else for i:= i to length(s) do // счетчик тот же, что и во внешнем цикле if not ((s[i]>='0')and(s[i]<='9')) then // если встретилось "не число" break // выходим из вложенного цикла else m[j]:= m[j] + s[i]; // записываем символ в строку массива end; end; for j:=low(m) to high(m) do // обходим строковый массив для вывода строк на экран writeln (m[j]); readln(); end.
Вывод в консоли:
Введите строку: sdf23dfg43df4dfs5sdfg5sdf54sd4dsf5sd4sd43sd3 23 43 4 5 5 54 4 5
- Log in to post comments
- 304 reads
Patrick
Mon, 01/02/2023 - 12:15
Permalink
Решение по видео-разбору
vedro-compota
Mon, 01/02/2023 - 17:13
Permalink
проверить выход за пределы
проверить выход за пределы массива именно для проблемных входных данных
_____________
матфак вгу и остальная классика =)