Решение №5 из главы 16. Выделите из строки массив первых 8 строковых литералов, которые являются числами
Primary tabs
Пользователь вводит строку произвольных символов, выделите из неё массив первых 8 строковых литералов, которые являются числами. И выведите эти числа на экран.
Например, из строки:
rew2@#$$#435tr353453t4er4
должны быть выделены подстроки:
2
435
353453
4
4
program pascal_string_array_char2; var i , j , amount : integer; // секция обьявления переменных inputstr , emptystr , symbol : string; str : array [1..8] of string; begin // начало тела программы i := 1; j := 1; amount := 0; writeln( 'input string : ' ); readln( inputstr ) ; // считывание строки while( i <= length( inputstr ) ) do // пока истинно условие выполняем begin emptystr := ' ' ; // пустая строка symbol := inputstr[ i ]; // первый символ строки { пока условие выполняется в пустую строку добавляем символы строки} while( symbol >= '0' ) and ( symbol <= '9' ) and ( amount <> 8 ) do begin emptystr += symbol; // добавляем i+=1; // при каждом проходе увеличиваем индекс if( i <= length( inputstr ) ) then // если не вышли за длинну строки symbol := inputstr[ i ] // символ равен символу строки с индексом i else break; // иначе завершаем end; i+=1; // увеличиваем при каждом проходе внешнего цикла if ( emptystr <> ' ' ) then // если строка не пуста begin str[j] := emptystr; // элемент массива равен накопленной строке j+=1; // увеличиваем индекс массива amount += 1; // увеличиваем переменную пока она не будет равна 8 end end; for j := 1 to high(str) do //обходим массив с целью извлечения его значений writeln( str[j] ); // выводим элемент массива end.
- Log in to post comments
- 1992 reads
sergio
Fri, 07/31/2020 - 22:35
Permalink
решение с помощью подпрограмм
vedro-compota
Wed, 06/17/2020 - 19:20
Permalink
решение засчитано
решение засчитано
_____________
матфак вгу и остальная классика =)