Вывести 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д