Найти в строке запись максимального действительного числа - Pascal

Узнай цену своей работы

Формулировка задачи:

Задана строка символов, среди которых есть хотя бы одна цифра. В качестве записи действительного числа будем рассматривать такую подстроку, которая состоит из цифр. Требуется написать программу, которая будет находить в заданной строке запись максимального действительного числа ( на любом языке программирования) Формат входных данных: Входные данные ( последовательность символов) вводятся с клавиатуры Формат выходных данных: В качестве выходных данных необходимо вывести число, являющееся максимальным действительным числом, встречающимся среди символов этой строки

Решение задачи: «Найти в строке запись максимального действительного числа»

textual
Листинг программы
  1. var s: string;
  2.     a, max: extended;
  3.     i, j, k, err: integer;
  4.     f: boolean;
  5. begin
  6.   f := false;
  7.   writeln('Введите строку:');
  8.   readln(s);
  9.   for i := 1 to length(s) do
  10.     if s[i] in ['0'..'9']
  11.       then begin
  12.         f := true;
  13.         val(s[i], max, err);
  14.         k := i;
  15.         break;
  16.       end;
  17.   if f
  18.     then begin
  19.       for i := k to length(s) do
  20.         for j := i to length(s) do
  21.           begin
  22.             val(copy(s, i, j - i + 1), a, err);
  23.             if (err = 0) and (a > max) then max := a
  24.           end;
  25.       write('Максимальное найденное число: ', max);
  26.     end
  27.     else write('Числа не найдены');
  28.   readln
  29. end.

Объяснение кода листинга программы

  1. Объявление переменных:
    • s (тип: строка) - для хранения введенной строки.
    • a (тип: extended) - для хранения текущего числа из строки.
    • max (тип: extended) - для хранения максимального найденного числа.
    • i, j, k, err (тип: integer) - для использования в циклах и хранения информации об ошибке.
    • f (тип: boolean) - для установки флага об успешном нахождении числа в строке.
  2. Установка значения флага:
    • Устанавливаем значение переменной f в false.
  3. Ввод строки:
    • Выводим на экран текст Введите строку:.
    • Считываем введенную строку в переменную s.
  4. Поиск и анализ чисел в строке:
    • Проходим по каждому символу строки (от первого до последнего).
      • Если текущий символ является цифрой, то:
      • Устанавливаем флаг f в true.
      • Преобразуем символ в число и сохраняем его в переменной max.
      • Запоминаем позицию символа в переменной k.
      • Прерываем цикл.
  5. Поиск максимального числа:
    • Если флаг f установлен в true, то:
      • Проходим по каждой подстроке начиная с позиции k до конца строки.
      • Проходим по каждому символу в текущей подстроке.
        • Конвертируем подстроку в число и сохраняем его в переменной a.
        • Если конвертация прошла успешно и текущее число больше, чем max, то обновляем max.
      • Выводим сообщение о максимальном найденном числе, если оно было найдено.
    • Иначе выводим сообщение Числа не найдены.
  6. Ожидание ввода перед закрытием программы:
    • Ожидаем ввода перед завершением программы. Здесь предполагается, что код написан на языке Pascal.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.556 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы