
Вопрос задан 28.07.2023 в 01:52.
Предмет Информатика.
Спрашивает Толоконникова Анастасия.
Написать подпрограмму для поиска максимального из всех двухзначных чисел в строке. Если в строке
нет ни одного двухзначного числа, то подпрограмма должна вернуть 0. function CalcMax(s:string):integer; с процедурой val

Ответы на вопрос

Отвечает Руткевич Анжела.
подпрограмма поиска максимального из всех двухзначных чисел в строке





Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для выполнения данной задачи можно использовать функцию CalcMax
, которая будет принимать входную строку s
и возвращать максимальное двухзначное число, найденное в ней. Для проверки, является ли подстрока числом, будем использовать процедуру Val
.
Вот код на языке Pascal/Delphi:
pascalfunction IsTwoDigitNumber(s: string): boolean; var num: integer; begin Val(s, num); // Преобразуем строку в число и сохраняем в переменной num // Проверяем, является ли число двухзначным Result := (num >= 10) and (num <= 99); end; function CalcMax(s: string): integer; var i, j: integer; currentNum, maxNum: integer; begin maxNum := 0; // Изначально максимальное число равно 0 // Проходим по строке и проверяем каждую подстроку for i := 1 to Length(s) do begin for j := 2 to Length(s) - i + 1 do begin currentNum := 0; // Изначально текущее число равно 0 // Извлекаем подстроку из строки и проверяем, является ли она двухзначным числом if IsTwoDigitNumber(Copy(s, i, j)) then begin // Если подстрока является двухзначным числом, преобразуем её в число и сравниваем с текущим максимальным числом Val(Copy(s, i, j), currentNum); if currentNum > maxNum then maxNum := currentNum; end; end; end; Result := maxNum; end;
Теперь можно вызвать функцию CalcMax
с нужной строкой и получить максимальное двухзначное число из неё:
pascalvar inputString: string; maxTwoDigitNumber: integer; begin inputString := 'abc123def456gh789'; // Пример входной строки maxTwoDigitNumber := CalcMax(inputString); // Вызываем функцию для поиска максимального двухзначного числа // Выводим результат if maxTwoDigitNumber = 0 then WriteLn('В строке нет двухзначных чисел.') else WriteLn('Максимальное двухзначное число: ', maxTwoDigitNumber); end.
Замените inputString
на любую другую строку для проверки с разными входными данными.


Похожие вопросы
Топ вопросов за вчера в категории Информатика

Информатика 562

Информатика 404

Информатика 31

Информатика 76

Информатика 16

Информатика 41

Информатика 31
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili