Вопрос задан 28.07.2023 в 01:52. Предмет Информатика. Спрашивает Толоконникова Анастасия.

Написать подпрограмму для поиска максимального из всех двухзначных чисел в строке. Если в строке

нет ни одного двухзначного числа, то подпрограмма должна вернуть 0. function CalcMax(s:string):integer; с процедурой val
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Руткевич Анжела.

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



0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для выполнения данной задачи можно использовать функцию CalcMax, которая будет принимать входную строку s и возвращать максимальное двухзначное число, найденное в ней. Для проверки, является ли подстрока числом, будем использовать процедуру Val.

Вот код на языке Pascal/Delphi:

pascal
function 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 с нужной строкой и получить максимальное двухзначное число из неё:

pascal
var inputString: string; maxTwoDigitNumber: integer; begin inputString := 'abc123def456gh789'; // Пример входной строки maxTwoDigitNumber := CalcMax(inputString); // Вызываем функцию для поиска максимального двухзначного числа // Выводим результат if maxTwoDigitNumber = 0 then WriteLn('В строке нет двухзначных чисел.') else WriteLn('Максимальное двухзначное число: ', maxTwoDigitNumber); end.

Замените inputString на любую другую строку для проверки с разными входными данными.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос