Объектно-ориентированное программирование на C++. Андрианова А.А - 162 стр.

UptoLike

Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
// преобразование к базовому классу и вызов
// операции вывода для базового класса
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