Здравствуйте, Abyx, Вы писали:
A>Здравствуйте, shrecher, Вы писали:
A>
A>string Power( int X, short Y) // вернуть строчное представление результата X в степени Y
A>{
A> return lexical_cast<string>(pow(X, Y));
A>}
A>
A>в чем проблема?
Н-да. pow вернет double, что есть максимальное число в нем — 1.79769e+308. Очевидно, что если аргументы к примеру, X=100000, Y=32000, то результат будет много больше.
Здравствуйте, shrecher, Вы писали:
S>Н-да. pow вернет double, что есть максимальное число в нем — 1.79769e+308. Очевидно, что если аргументы к примеру, X=100000, Y=32000, то результат будет много больше.
ну будет +inf, ну и что?
вы умножаете int32*int32 и не думаете о том что оно может переполнится
Здравствуйте, Abyx, Вы писали:
A>Здравствуйте, shrecher, Вы писали:
S>>Н-да. pow вернет double, что есть максимальное число в нем — 1.79769e+308. Очевидно, что если аргументы к примеру, X=100000, Y=32000, то результат будет много больше.
A>ну будет +inf, ну и что? A>вы умножаете int32*int32 и не думаете о том что оно может переполнится
авторы вопроса хотят для всех всех возможных значений int и short, т.е. два миллиарда в степени тридцать две тысячи. Длинная такая строка.
Здравствуйте, shrecher, Вы писали:
S>Здравствуйте, Abyx, Вы писали:
A>>Здравствуйте, shrecher, Вы писали:
A>>
A>>string Power( int X, short Y) // вернуть строчное представление результата X в степени Y
A>>{
A>> return lexical_cast<string>(pow(X, Y));
A>>}
A>>
A>>в чем проблема?
S>Н-да. pow вернет double, что есть максимальное число в нем — 1.79769e+308. Очевидно, что если аргументы к примеру, X=100000, Y=32000, то результат будет много больше.
Очевидно что во Вселенной где нам выпало счастье жить, атомов 10^80 Что как бы намекает, что 10^300 на реальной задаче не переполнится
Опыт — это такая вещь, которая появляется сразу после того, как была нужна...
Здравствуйте, ZOI4, Вы писали:
ZOI>Здравствуйте, shrecher, Вы писали:
S>>Как такой вопрос на собеседовании, был задан на позиции C++ разработчика?
ZOI>Зависит от того сколько времени дают на решение.
Минут 15-20. Можно, не все решение, но хотя бы определиться со структурами данных и написать основу алгоритма.
Если в лоб, то на пятой минуте пришла в голову идея просто перемножать Х друг на друга по очереди Y раз, а промежуточные результаты запихивать в строку%))) Но пожалуй еще подумаю%)
Мафиозная диктатура это нестабильность. Если не мафиозная диктатура, то Конституция и демократия.
В общем, на вскидку надо определить сколько раз Х можно умножить на Х, чтобы результат помещался в double, например, если погрешности пофик, или в _int64, если точность важна. И потом считать сколько таких произведений получится при проходе X*X Y раз, плюс последнее перемножение Х-ов, которое может быть меньше. В общем:
1. Сколько раз X*X*...*X, чтоб _int64 не переполнился.
2. Считаем сколько таких произведений требуется, чтобы Х на Х умножился до около Y раз, с мешьшей стороны.
3. Домножаем оставшееся.
4. Переводим это дело в строку, вручную умножая наше произведение из п.1 вручную от младшего разряда к старшему на получившееся число оных, не забывая приплюсовать остаток из п.3.
В общем как-то так, если непонятно, то сорри, вечер после рабочего дня — моска уже нет.
Мафиозная диктатура это нестабильность. Если не мафиозная диктатура, то Конституция и демократия.
Здравствуйте, ZOI4, Вы писали:
ZOI>Здравствуйте, shrecher, Вы писали:
ZOI>В общем как-то так, если непонятно, то сорри, вечер после рабочего дня — моска уже нет.
Возможно это и так. Меня больше интересует адекватность этого вопроса. Его задали моему знакомому и мы тут спорили о смысле спрашивать такое. За много лет прогерской жизни я ни разу не писал ничего подобного. Как-то лавки стали спрашивать что-то очень мудреное, видать разворот строки уже всем надоел
Здравствуйте, shrecher, Вы писали:
S>Здравствуйте, ZOI4, Вы писали:
ZOI>>Здравствуйте, shrecher, Вы писали:
ZOI>>В общем как-то так, если непонятно, то сорри, вечер после рабочего дня — моска уже нет.
S>Возможно это и так. Меня больше интересует адекватность этого вопроса. Его задали моему знакомому и мы тут спорили о смысле спрашивать такое. За много лет прогерской жизни я ни разу не писал ничего подобного. Как-то лавки стали спрашивать что-то очень мудреное, видать разворот строки уже всем надоел
Да это ж школьная задача, реализовать перемножение двух длинных чисел. В тривиальном случае хранишь по одному десятичному разряду в элементе массива, и перемножаешь как на листочке.
Здравствуйте, shrecher, Вы писали:
S>Возможно это и так. Меня больше интересует адекватность этого вопроса. Его задали моему знакомому и мы тут спорили о смысле спрашивать такое. За много лет прогерской жизни я ни разу не писал ничего подобного. Как-то лавки стали спрашивать что-то очень мудреное, видать разворот строки уже всем надоел
Если оценивать как один из вопросов на смекалку, то нормально, имхо. Хотя 15-20 минут мне кажется маловато, все-таки.
ЗЫ Зато виртуальные деструкторы до сих пор не стареют — ходил тут тоже по собеседованиям не так давно — хиты номер один — виртуальные деструкторы и организация контейнеров
Мафиозная диктатура это нестабильность. Если не мафиозная диктатура, то Конституция и демократия.
ZOI>1. Сколько раз X*X*...*X, чтоб _int64 не переполнился. ZOI>2. Считаем сколько таких произведений требуется, чтобы Х на Х умножился до около Y раз, с мешьшей стороны. ZOI>3. Домножаем оставшееся. ZOI>4. Переводим это дело в строку, вручную умножая наше произведение из п.1 вручную от младшего разряда к старшему на получившееся число оных, не забывая приплюсовать остаток из п.3.
Да, тут еще похоже еще одного unsigned _int64 не хватит для подсчета произведений из пункта 1. Значит надо вводить еще одно измерение и считать, сколько сумм произведений из пункта 1, поместиться еще в один unsigned _int64
ЗЫ Хы, написал, но не отправил%) Определенно, пора спать%)
Мафиозная диктатура это нестабильность. Если не мафиозная диктатура, то Конституция и демократия.
Здравствуйте, ZOI4, Вы писали:
ZOI>Здравствуйте, shrecher,
ZOI>Если в лоб, то на пятой минуте пришла в голову идея просто перемножать Х друг на друга по очереди Y раз, а промежуточные результаты запихивать в строку%))) Но пожалуй еще подумаю%)
пробегать каждый бит в Y
если бит == 1, то result *= x;
вне зависимости от бита делать делать X = X * X
X * X можно считать алгоритмом карацубы (это если стоит задача совсем написать велосипед и не пользоваться библиотеками для длинной арифметики)
Здравствуйте, _software_engineer_, Вы писали:
___>пробегать каждый бит в Y ___>если бит == 1, то result *= x;
___>вне зависимости от бита делать делать X = X * X
Хм, я может чего-то пропустил, но где у вас защита переполнения в result? Основная проблема в ней.
Мафиозная диктатура это нестабильность. Если не мафиозная диктатура, то Конституция и демократия.
Здравствуйте, ZOI4, Вы писали:
ZOI>Здравствуйте, _software_engineer_, Вы писали:
___>>пробегать каждый бит в Y ___>>если бит == 1, то result *= x;
___>>вне зависимости от бита делать делать X = X * X
ZOI>Хм, я может чего-то пропустил, но где у вас защита переполнения в result? Основная проблема в ней.
Забыл уточнить — я предлагал это для длинной арифметики
Здравствуйте, FirstStep, Вы писали:
FS>Здравствуйте, Доктор ТуамОсес, Вы писали:
ДТ>>Правильно. ДТ>>А как же вторая часть вопроса ("почему?")? ДТ>>Сможете объяснить почему 2.75?
FS>Потому что 2.75 представимо в виде суммы целых степеней двойки:
FS>2.75 = 2^1 + 2^(-1)+ 2^(-2)
Браво
Вы успешно прошли собеседование.
Беру Вас к себе.
Здравствуйте, vb-develop, Вы писали:
VD>Здравствуйте, shrecher, Вы писали:
S>>Здравствуйте, ZOI4, Вы писали:
ZOI>>>Здравствуйте, shrecher, Вы писали:
ZOI>>>В общем как-то так, если непонятно, то сорри, вечер после рабочего дня — моска уже нет.
S>>Возможно это и так. Меня больше интересует адекватность этого вопроса. Его задали моему знакомому и мы тут спорили о смысле спрашивать такое. За много лет прогерской жизни я ни разу не писал ничего подобного. Как-то лавки стали спрашивать что-то очень мудреное, видать разворот строки уже всем надоел
VD>Да это ж школьная задача, реализовать перемножение двух длинных чисел. В тривиальном случае хранишь по одному десятичному разряду в элементе массива, и перемножаешь как на листочке.
так для интереса на бумажке наваял этот вариант, не знаю мож в том и суть что задачу надо решить более хитро но этот тупой вариант пишется за 7 минут=)
String sumLong(String A, String B); // бежим с конца, переводим текущие цифры в int плюсуем между собой и с запомненным переносом если остался с прошлой суммы, ну и в результирующую строку(перенос сохраняем.
тоды:
String mulLong(String A, String B); // sumlong в цикле:A+A+... B раз.
String powLong(String A, String B); // mullong в цикле:A*A*... B раз.
на бумажке полный вариант занял 6-7 минут.. соответственно есть предположение что спрашивающий хотел более хитрый вариант
Здравствуйте, a_g_barnaul, Вы писали:
VD>>Да это ж школьная задача, реализовать перемножение двух длинных чисел. В тривиальном случае хранишь по одному десятичному разряду в элементе массива, и перемножаешь как на листочке.
__>так для интереса на бумажке наваял этот вариант, не знаю мож в том и суть что задачу надо решить более хитро но этот тупой вариант пишется за 7 минут=) __>String sumLong(String A, String B); // бежим с конца, переводим текущие цифры в int плюсуем между собой и с запомненным переносом если остался с прошлой суммы, ну и в результирующую строку(перенос сохраняем. __>тоды: __>String mulLong(String A, String B); // sumlong в цикле:A+A+... B раз. __>String powLong(String A, String B); // mullong в цикле:A*A*... B раз.
__>на бумажке полный вариант занял 6-7 минут.. соответственно есть предположение что спрашивающий хотел более хитрый вариант
Не думаю, скорее просто хотели проверить насколько рука набита код с логикой писать. Если на работе ничего кроме клепания формочек не делаешь, то с этим имхо могут быть сложности.
Здравствуйте, Доктор ТуамОсес, Вы писали:
ДТ>>>А как же вторая часть вопроса ("почему?")?
А практическая польза данного упражнения есть ?
1/3 тоже записать в виде конечной десятичной дроби нельзя, но на практике это ни кому не мешает.
До не давнего времени, мне вот все равно было на формат представления double в памяти, только в связи с вашим заданием посмотрел.
Так что бы задание было корректным давайте претендентам описания этого формата. imho
Здравствуйте, shrecher, Вы писали:
S>Как такой вопрос на собеседовании, был задан на позиции C++ разработчика?
S>Написать код на доске для функции:
S>string Power( int X, short Y) // вернуть строчное представление результата X в степени Y
S>{
S>}
Это вопрос на наличие bullshit detector’а. Когда задают такой вопрос, ждут, что ты будешь спрашивать про ограничения. Как минимум — переспросишь, действительно ли они хотят от тебя, чтоб ты реализовал им bignum; и если да, то почему бы не принимать аргументы бигнумами, в какой системе счисления должен быть результат, и требуется ли обрабатывать случаи (X!=0 && Y<0), (X=0 && Y=0) и (X=0 && Y<0).
Здравствуйте, Abyx, Вы писали:
A>Здравствуйте, ilnar, Вы писали:
I>>Здравствуйте, Abyx, Вы писали:
A>>>Здравствуйте, shrecher, Вы писали:
A>>>
A>>>string Power( int X, short Y) // вернуть строчное представление результата X в степени Y
A>>>{
A>>> return lexical_cast<string>(pow(X, Y));
A>>>}
A>>>
A>>>в чем проблема?
I>>при такой реализации в ограниченном множестве X,Y
A>так оно в double конвертируется
Эм... дабл держит 16 первых значимых разрядов и степень Что-то точностью тут и не пахнет...
даст нам степень в которую надо возвести 10 чтоб получить X^Y
пример
INT_MAX=2147483648
SHRT_MAX=32767
32767*log(2147483648) = 305779.34590557182653062605326656
грубо:
10^305779 * 10^0.345 ==> 10^305779 * 2.2130947096056377223339809093626
для 10^0.345 double сгодиться
10^305779 тут нам нужна только степень
тут уже можно поиграться с простым смещнием десятичной точки,
Здравствуйте, baxton_ulf, Вы писали:
_>Здравствуйте, shrecher, Вы писали: S>>...
Любые операции с double дадут нам неточные вычисления.
По-моему уже кто-то писал. Длинная арифметика + log(Y) возведение в степень, а в качестве умножений вспомогательных в log алго для степени — Карацуба.
Здравствуйте, shrecher, Вы писали:
S>Как такой вопрос на собеседовании, был задан на позиции C++ разработчика?
не в Акронисе ли задают такие вопросы на собеседовании?
спрашиваю потому что как то получил от них тестовое такого содержания:
Задание: необходимо вывести введенное 10-тичное число словами на русском языке в 8-ми и 10-ной системах. Например.
Вводим: 131
Выводим:
сто тридцать один в десятичной системе;
двести три в восьмеричной системе.
При проектировании подумайте о том, как ваше решение можно было бы локализовать на английский язык (тут обратите внимание, например, на цифру "двести", которая на английском будет состоять из двух слов).
Укажите, сколько времени у вас заняло выполнение этого задания.
Я знаю, как управлять Вселенной. И скажите, зачем же мне бежать за миллионом?!(c)
On 19.08.2011 11:04, kuzmaprutkov2 wrote:
> A>так оно в double конвертируется > Эм... дабл держит 16 первых значимых разрядов и степень Что-то точностью тут и > не пахнет...
On 18.08.2011 23:05, Доктор ТуамОсес wrote:
> *Есть код: > > double x = 2.30; > double y = 2.75; > > > > Вопрос:Какая переменная реально получит то значение, которое написано в её > инициализаторе?
Так всё просто. Никакая.
Потому что бинарная дробь -- лишь приблизительное представление десятичной.
Ну тут вроде бы 2.75 представимо в виде конечной бинарной дроби, а 2.30
(7/3) -- нет, поэтому первая не получит точно то значение, вторая -- получит.
Здравствуйте, kuzmaprutkov2, Вы писали:
K>Любые операции с double дадут нам неточные вычисления.
это да
по крайней мере у нас есть оценка сколько нам нужно разрядов (305780).
K>По-моему уже кто-то писал. Длинная арифметика + log(Y) возведение в степень, а в качестве умножений вспомогательных в log алго для степени — Карацуба.
Здравствуйте, shrecher, Вы писали:
S>Как такой вопрос на собеседовании, был задан на позиции C++ разработчика?
S>Написать код на доске для функции:
string Power( int X, short Y) // вернуть строчное представление результата X в степени Y
{
return lexical_cast<string>(X)+"^"+lexical_cast<string>(Y);
}
18.08.2011 21:29, shrecher пишет:
> Возможно это и так. Меня больше интересует адекватность этого вопроса. > Его задали моему знакомому и мы тут спорили о смысле спрашивать такое. > За много лет прогерской жизни я ни разу не писал ничего подобного.
Ну если простейший ответ с pow не удовлетворяет, то лучше всего
попрощаться с ними сразу.
19.08.2011 7:56, Centaur пишет:
> > Это вопрос на наличие bullshit detector’а. Когда задают такой вопрос, > ждут, что ты будешь спрашивать про ограничения. Как минимум — > переспросишь, действительно ли они хотят от тебя, чтоб ты реализовал им > bignum; и если да, то почему бы не принимать аргументы бигнумами, в > какой системе счисления должен быть результат, и требуется ли > обрабатывать случаи (X!=0 && Y<0), (X=0 && Y=0) и (X=0 && Y<0).
В таком варианте этот вопрос говорит об отсутствии четкой постановки
задач на этой конторе, или по крайней мере у этого начальника. Посему
нужно быть готовым что вам придется угадывать желания начальников и
удовлетворять их. Кому-то это нравиться, кому-то нет.
19.08.2011 10:22, sumson пишет:
> При проектировании подумайте о том, как ваше решение можно было бы локализовать на английский язык (тут обратите внимание, например, на цифру "двести", которая на английском будет состоять из двух слов). > > Укажите, сколько времени у вас заняло выполнение этого задания.
А вот это уже достаточно разумно и четко. Задание достаточно простое.
Такое можно и на собеседовании дать, если не верите, что соискатель
вообще программирует.
C>Это вопрос на наличие bullshit detector’а. Когда задают такой вопрос, ждут, что ты будешь спрашивать про ограничения. Как минимум — переспросишь, действительно ли они хотят от тебя, чтоб ты реализовал им bignum;
Задача поставлена четко: на вход даются int[b] X, [b]short Y. Если бы хотели маленькие значения, то наверное бы дали хотя бы short, short или uchar, uchar. Тем более, возврат ввиде строки, заначит нет ограничений на выходной размер. Можешь, конечно, переспросить надо ли "bignum", но явно получишь положительный вопрос.
C>и требуется ли обрабатывать случаи (X!=0 && Y<0), (X=0 && Y=0) и (X=0 && Y<0).
это уже автор реализации должен решать как обрабатывать входные данные.
Здравствуйте, Vzhyk, Вы писали:
V>Задание достаточно простое. V>Такое можно и на собеседовании дать, если не верите, что соискатель V>вообще программирует.
хорошо, жопустим вам дали такое задание на собеседовании,
алгоритм можете накидать побыстрому?
Я знаю, как управлять Вселенной. И скажите, зачем же мне бежать за миллионом?!(c)
Здравствуйте, -Dm-, Вы писали:
D>Здравствуйте, Доктор ТуамОсес, Вы писали:
ДТ>>>>А как же вторая часть вопроса ("почему?")?
D>А практическая польза данного упражнения есть ? D>1/3 тоже записать в виде конечной десятичной дроби нельзя, но на практике это ни кому не мешает.
Вы видимо далёкий от математики человек и Вам никогда не приходилось заниматься мат.моделированием и "численными методами" решения дифференциальных уравнений в частных производных.
19.08.2011 13:23, sumson пишет:
> хорошо, жопустим вам дали такое задание на собеседовании, > алгоритм можете накидать побыстрому?
Этот да.
Но, вероятнее всего не буду, потому как не буду работать с людьми,
которые ожидают обмана с первых же минут встречи (ожидание обмана от
всех вокруг — это чаще всего проекция собственного поведения или
комплекс — что одно, что другое плохо для меня).
Если же приходит студент на собеседование, то тогда данный тест разумен
— прошлого опыта у него обычно нет и имеет смысл посмотреть вообще на
то, как он пишет код.
Здравствуйте, Доктор ТуамОсес, Вы писали:
ДТ>Вот Вам ещё "вопрос на собеседовании" (взят из готовящегося сейчас мной к опубликованию нового бильда СБОРНИКА ВОПРОСОВ ПО С++:
ДТ>
Есть код:
ДТ>
ДТ>double x = 2.30;
ДТ>double y = 2.75;
ДТ>
ДТ>Вопрос:Какая переменная реально получит то значение, которое написано в её инициализаторе?
ДТ>И почему?
Обе. Если в Вашем языке программирования это не так, выкиньте его на помойку. Еще есть простой способ узнать, хорошо ли язык работает с числами с плавающей точкой — посчитать e^pi — pi.
Здравствуйте, Доктор ТуамОсес, Вы писали:
ДТ>Вы видимо далёкий от математики человек и Вам никогда не приходилось заниматься мат.моделированием и "численными методами" решения дифференциальных уравнений в частных производных.
И что ты с этим сакральным знанием будешь делать?
Использовать только те числа, что в степени двойки красиво вписываются?
Первый же корень разрушит стройную картину мира.
Хочешь мегаточности — используй fractional представление чисел.
Любой double — это приблизительное представление, и только в некоторых частных случаях для некоторых чисел — точное. Которое во время вычислений очень быстро превращается опять таки в приблизительное.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Banned by IT, Вы писали:
BBI>Здравствуйте, Доктор ТуамОсес, Вы писали:
ДТ>>Вы видимо далёкий от математики человек и Вам никогда не приходилось заниматься мат.моделированием и "численными методами" решения дифференциальных уравнений в частных производных. BBI>И что ты с этим сакральным знанием будешь делать? BBI>Использовать только те числа, что в степени двойки красиво вписываются? BBI>Первый же корень разрушит стройную картину мира. BBI>Хочешь мегаточности — используй fractional представление чисел. BBI>Любой double — это приблизительное представление, и только в некоторых частных случаях для некоторых чисел — точное. Которое во время вычислений очень быстро превращается опять таки в приблизительное.
Просто сталкивался, что далёким от реальности супер-мега-гуру программистам
(особенно недоучившимся студентам с повышенным ЧСВ) было впадлу вникать в такие вот
"мелочи"/"ерунду", а потом они долго вылавливали глюки, которые я вычислял "на раз"(R).
Здравствуйте, Banned by IT, Вы писали:
BBI>Здравствуйте, Доктор ТуамОсес, Вы писали:
ДТ>>Ну так чо? Народ? ДТ>>Сможете ответить?
BBI>Ой та ви какой то детской фигнёй страдаете.
Всегда когда-то начинали с ерунды/фигни.
Даже, ЕНИМП, сам Бил Гейтц начинал с того, что в папашином гараже какую ту фигню клепал
Здравствуйте, MaximUN, Вы писали:
MUN>Здравствуйте, shrecher, Вы писали:
S>>это уже автор реализации должен решать как обрабатывать входные данные.
MUN>Еще чего. Это должен решать заказчик, в данном случае — интервьювер.
Здравствуйте, Доктор ТуамОсес, Вы писали:
ДТ>Вы видимо далёкий от математики человек и Вам никогда не приходилось заниматься мат.моделированием и "численными методами" решения дифференциальных уравнений в частных производных.
ДТ>Поэтому так и говорите
string Mult (const string &X, const string &Y)
{
// реализуем алгоритм умножения в столбик
}
string Power( int X, short Y)
{
// отдельно обрабатываем случаи X <=0 или Y <= 0
// string x = lexical_cast X - ну вы поняли
string xOrig (x);
// возводим x в квадрат, пока суммарная степень x не больше Ywhile ( 2 * PowCount < Y )
{
PowCount *= 2;
x = Mult (x, x);
}
// добиваем оставшеесяfor ( int i = PowCount; i < Y; i++ )
x = Mult (x, xOrig);
}
Здравствуйте, shrecher, Вы писали:
S>Как такой вопрос на собеседовании, был задан на позиции C++ разработчика?
S>Написать код на доске для функции:
S>
S>string Power( int X, short Y) // вернуть строчное представление результата X в степени Y
S>{
S>}
S>
Здравствуйте, THESERG, Вы писали:
THE>вот такое первое в голову приходит:
THE>
THE>string Mult (const string &X, const string &Y)
THE>{
THE> // реализуем алгоритм умножения в столбик
THE>}
THE>
Как я понял, вот этот метод и есть цель вопроса . Но, при этом скорость реализации очевидно важна. Поэтому просто в "столбик" явно не катит. Грубо говоря, требуемый метод такой:
Все большое число записывается ввиде массива целых предстваленных в FFFFFFF-ичной системе.
когда умножаем x на y, где x y int, записываем результат в int64. Если результат меньше размерности int, то его и использем, а если больше, то делим его на 2 int-a. Все это дописываем в наш массив. Когда все перемножили преобразуем массив в строку.
Вся эта муть выглядит как странно для собеседования.
я бы не парился и перемножал десятичные цифры, тогда можно за минут 40 изобразить ужасного качества код
(на листочке бумаги, я так понимаю?)
нужны отдельные функции (если времени не хватит, можно их не писать, оставить только объявления типа...):
string Sum (const string &V1, const string &V2); // сложениеvoid Shift (string &V, signed int N); // сдвиг влево/вправо на N позиций
string Mult (const string &V, char D); // умножение числа V на число D (0<=D<=9)
всё это нарисовать и спросить, реализацию чего Вы бы хотели, чтоб я написал
Здравствуйте, THESERG, Вы писали:
THE>всё это нарисовать и спросить, реализацию чего Вы бы хотели, чтоб я написал
Я-то не хочу Я как раз удивлен странностью вопроса. Конечно, интервьюер может спрашивать все что они хочет, но все-таки ... Это достаточно редкая область программирования, она уже существует в готовых библиотеках и это не профильная задача на набираемую позицию. Видать уже ответы на вопрос про виртуальный деструктор народ выучил, лавки пошли осваивать новые ниши.