ВУЗ:
Составители:
Рубрика:
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
// преобразование к базовому классу и вызов
// операции вывода для базового класса
out << (List)ob;
return out;
}
Стеки и очереди очень часто используются для решения различных
задач в программировании. Приведем примеры решения нескольких
задач, в которых будем использовать разработанные классы Stack и
Queue.
Задача 1. Пусть дано целое положительное число. Требуется
перевести его в заданную систему счисления.
Напомним, что при переводе числа в другую систему счисления
производится последовательное получение остатков от деления числа на
основание системы счисления, которые при записи в обратном порядке
образуют требуемое представление числа. Поэтому вычисленные остатки
от деления заносятся в стек, а затем извлекаются из него для
формирования строкового представления записи числа. Если основание
системы счисления больше 10 (в этом случае для записи числа
используются буквенные обозначения), в строку заносится
соответствующий символ (10 – ‘A’, 11 – ‘B’ и т.д.).
Решение данной задачи оформлено в виде функции, в которой
используется объект класса Stack и его методы.
// определение функции перевода положительного целого
// числа из десятичной системы счисления в любую заданную
// с основанием от 2 до 16.
// number - положительное целое число
// в десятичной системе счисления
// base – основание системы счисления
// функция возвращает строковое представление записи числа
char* PreobrChislo(int number, int base)
{
Stack s;
int n = 0;
// вычисленные остатки от деления числа
// на основание системы счисления помещаются в стек
while(number != 0)
{
s.PushElement(number % base);
number = number / base;
n++;
162
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М. // преобразование к базовому классу и вызов // операции вывода для базового класса out << (List)ob; return out; } Стеки и очереди очень часто используются для решения различных задач в программировании. Приведем примеры решения нескольких задач, в которых будем использовать разработанные классы Stack и Queue. Задача 1. Пусть дано целое положительное число. Требуется перевести его в заданную систему счисления. Напомним, что при переводе числа в другую систему счисления производится последовательное получение остатков от деления числа на основание системы счисления, которые при записи в обратном порядке образуют требуемое представление числа. Поэтому вычисленные остатки от деления заносятся в стек, а затем извлекаются из него для формирования строкового представления записи числа. Если основание системы счисления больше 10 (в этом случае для записи числа используются буквенные обозначения), в строку заносится соответствующий символ (10 – ‘A’, 11 – ‘B’ и т.д.). Решение данной задачи оформлено в виде функции, в которой используется объект класса Stack и его методы. // определение функции перевода положительного целого // числа из десятичной системы счисления в любую заданную // с основанием от 2 до 16. // number - положительное целое число // в десятичной системе счисления // base – основание системы счисления // функция возвращает строковое представление записи числа char* PreobrChislo(int number, int base) { Stack s; int n = 0; // вычисленные остатки от деления числа // на основание системы счисления помещаются в стек while(number != 0) { s.PushElement(number % base); number = number / base; n++; 162
Страницы
- « первая
- ‹ предыдущая
- …
- 160
- 161
- 162
- 163
- 164
- …
- следующая ›
- последняя »