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

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

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

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

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

textual
Листинг программы
uses crt,classes;
 
type
 Digit=class
   private
     dgt : 0..9;
   public
     constructor Create(c:ansichar);
 end;
 
var
  Data:TList;
  c:char;
  n:dword;
 
constructor digit.Create(c:ansichar);
begin
   dgt:=ord(c)-ord('0');
end;
 
begin
  data:=tlist.create();
  Writeln('Введи последовательность (останов по нажатию любой НЕ ЦИФРЫ):');
  while true do
   begin
      c:=readkey;
      if c in ['0'..'9'] then data.add(digit.create(c))
      else break;
      write(c);
   end;
  Writeln;
  Write('Какую цифру вынуть? ');
  Readln(n);
 
  if n<data.Capacity then   writeln(digit(data[n-1]).dgt)
  else writeln('Нет такого номера');
 
  readln;
  data.Free;
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
Похожие ответы