Вывести N-й член из слитной записи чисел - Free Pascal

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

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

Вывести N-й член из слитной последовательности записи чисел. N и числа в последовательности задаются с клавиатуры. Буду очень благодарен тем,кто хотя бы намекнет как это делать .

Решение задачи: «Вывести N-й член из слитной записи чисел»

textual
Листинг программы
  1. uses crt,classes;
  2.  
  3. type
  4.  Digit=class
  5.    private
  6.      dgt : 0..9;
  7.    public
  8.      constructor Create(c:ansichar);
  9.  end;
  10.  
  11. var
  12.   Data:TList;
  13.   c:char;
  14.   n:dword;
  15.  
  16. constructor digit.Create(c:ansichar);
  17. begin
  18.    dgt:=ord(c)-ord('0');
  19. end;
  20.  
  21. begin
  22.   data:=tlist.create();
  23.   Writeln('Введи последовательность (останов по нажатию любой НЕ ЦИФРЫ):');
  24.   while true do
  25.    begin
  26.       c:=readkey;
  27.       if c in ['0'..'9'] then data.add(digit.create(c))
  28.       else break;
  29.       write(c);
  30.    end;
  31.   Writeln;
  32.   Write('Какую цифру вынуть? ');
  33.   Readln(n);
  34.  
  35.   if n<data.Capacity then   writeln(digit(data[n-1]).dgt)
  36.   else writeln('Нет такого номера');
  37.  
  38.   readln;
  39.   data.Free;
  40. end.

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

  1. Объявление переменных и типов данных:
    • Digit - тип данных, представляющий цифру с помощью класса;
    • Data - переменная типа TList, представляющая список цифр;
    • C - переменная типа char, используемая для чтения ввода пользователя;
    • N - переменная типа dword, используемая для хранения выбранного пользователем номера.
  2. Создание конструктора для класса Digit:
    • Конструктор класса Digit, принимающий в качестве параметра символ и устанавливающий соответствующее значение переменной dgt.
  3. Основной цикл программы:
    • Бесконечный цикл, который продолжается до тех пор, пока пользователь не введет любой символ, кроме цифры от 0 до 9;
    • В каждой итерации цикла программа запрашивает у пользователя ввод, проверяет его и добавляет новый объект Digit в список Data;
    • После окончания цикла программа запрашивает у пользователя номер, который он хочет извлечь из списка.
  4. Проверка диапазона номера и вывод результата:
    • Если номер находится в пределах допустимого диапазона (меньше или равно Capacity списка), программа извлекает соответствующий объект Digit и выводит его значение;
    • В противном случае программа выводит сообщение о том, что такого номера не существует.
  5. Освобождение памяти:
    • В конце программы программа освобождает память, занятую списком Data.

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


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

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

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

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

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

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