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