Задача 3 Урок 18
Primary tabs
Пользователь вводит произвольную строку, посчитайте
количество чисел в ней - тех, что больше 125. Например, в строке:123ret34#2145esrt5такое число только одно и это:
2145
type ar = array[1..10] of integer; var fromString: string; newArray: ar; function lookForNum(fromString1: string): ar; var loopCount{счетчик цикла}, toInt{для преобразования в число}, arrCount, errorCode{код ошибки}: integer; toString: string; flag: boolean; newArray1: ar; begin flag := false; arrCount := 0; toString := ''; for loopCount := 1 to length(fromString1) do begin val(fromString1[loopCount], toInt, errorCode); if (errorCode = 0) and flag then begin toString := toString + fromString1[loopCount]; val(toString, newArray1[arrCount], errorCode); end else if (errorCode = 0) and not flag then begin flag := true; inc(arrCount); toString := toString + fromString1[loopCount]; val(toString, newArray1[arrCount], errorCode); end else if (errorCode <> 0) and flag then begin flag := false; toString := ''; end; end; if (arrCount < length(newArray1)) then begin for loopCount := arrCount + 1 to length(newArray1) do begin newArray1[loopCount] := 0; end; end; result := newArray1; end; procedure lookFor125(newArray1: ar); var loopCount, countOfInt: integer; begin countOfInt := 0; for loopCount := low(newArray1) to high(newArray1) do begin if (newArray1[loopCount] > 125) then begin inc(countOfInt); end; end; writeln('Чисел больше 125 в строке: ', countOfInt); if countOfInt > 0 then writeln('Это числа: '); for loopCount := low(newArray1) to high(newArray1) do begin if (newArray1[loopCount] > 125) then begin writeln(newArray1[loopCount]); end; end; end; begin writeln('Введите строку'); readln(fromString); newArray := lookForNum(fromString); lookFor125(newArray); readln(); end.
КОНСОЛЬ
Введите строку eb516evf651erfv61vrfs Чисел больше 125 в строке: 2 Это числа: 516 651
- Log in to post comments
- 1069 reads
vedro-compota
Sun, 12/05/2021 - 13:25
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)