Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
WoodHobit
0 / 0 / 0
Регистрация: 03.10.2013
Сообщений: 5
#1

Задание с собеседования (циклы) - C++

03.10.2013, 17:24. Просмотров 1384. Ответов 21
Метки нет (Все метки)

День добрый!
Был сегодня на собеседовании, и было такое задание где было такое задание:

Описать одним предложением что делает данная функция
C++
1
2
3
4
5
6
7
8
9
10
    int FuncName (int a)
    {
        int sum=0
            while ( a != unsigned(-1))
            {
                m = (m+1) | m;
                sum++;
            }
            return sum;
    }
Ответил что это бесконечный цикл и данная функция просто вешает программу, мне сказали что ответ не правильный.

Ну вот мне теперь и интересно что ж такого делает данная функция???
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2013, 17:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задание с собеседования (циклы) (C++):

ООП. Тестовое задание собеседования. - C++
Это тестовое задание для устройста на работу. Я не совсем понимаю что от меня хотят. Не могли бы вы мне далее составить набросок плана...

Задание на вложенные циклы! - C++
1. С помощью вложенных циклов вывести на экран указанное на картинке. Пожалуйста, напишите код понятный для новичка. Заранее благодарю.

Задания с++ с собеседования - C++
Предложите ваши варианты решения заданий 1. Перечислите все проблемы, которые вы видите в данном коде: class Foo { public: ...

Пример из собеседования по C++ - C++
Граждане, есть такой пример: class B { private: virtual void f() { std::cout << "B::f()" << std::endl;} public: void g() {...

Собеседования по С++ для джуна - C++
Добрый день, если вы бы проводили собеседования по С++ для джуна - какой вопрос по С++ вы бы припасли как самый сложный? Для...

Задача с собеседования (аллокатор памяти) - C++
Вопрос звучит так: "Напишите быстрый аллокатор памяти" Как я его понимаю: можно пожертвовать растратой памяти, всякими наворотами,...

21
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555
03.10.2013, 18:36 #16
Цитата Сообщение от WoodHobit Посмотреть сообщение
День добрый!
Был сегодня на собеседовании, и было такое задание где было такое задание:

Описать одним предложением что делает данная функция
C++
1
                    m = (m+1) | m;
что вот это за штука расскажите пожалуйста-никогда не встречал
0
MrGluck
Модератор
Эксперт CЭксперт С++
7497 / 4613 / 694
Регистрация: 29.11.2010
Сообщений: 12,631
03.10.2013, 18:48 #17
newb_programmer, побитовая операция ИЛИ
получается так, например:
m = 0:
m = 1 | 0 = 1
m = 10 | 1 = 11 // 10 это 2 в двоичной системе счисления. Получается, сравниваются 10 и 01
m = 100 | 11 = 111 // в переводе на десятеричную 7

Добавлено через 54 секунды
Поразрядное сравнение двух чисел на предмет истинности. Если хотя бы в одном истинно - результат истина. Сравнение происходит в двоичной с.с. что значит, что числа сначала преобразуются в эту с.с., а затем, после выполнения операции, назад.
2
rrrFer
Заблокирован
03.10.2013, 19:03 #18
Да нормальное задание. Функция считает количество нулей в двоичной записи числа, вроде бы.
Ну и этот трюк приколен, да: m = (m+1) | m;
----------
задание отсеивает ущербных, мне кажется )
2
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
03.10.2013, 19:08 #19
хорошо, а теперь где и как объявлена переманная а?
ооооооооопс! здесь, оказывается, уже вторая страница, а я в начале ковыряюсь
0
Croessmah
Ушел
Эксперт CЭксперт С++
13557 / 7707 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
03.10.2013, 19:09 #20
Цитата Сообщение от novi4ok Посмотреть сообщение
хорошо, а теперь где и как объявлена переманная а?
вот тут и вот так:
Цитата Сообщение от WoodHobit Посмотреть сообщение
int FuncName (int a)
0
ya_noob
_
203 / 147 / 9
Регистрация: 08.10.2011
Сообщений: 432
03.10.2013, 19:31 #21
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от rrrFer Посмотреть сообщение
Да нормальное задание. Функция считает количество нулей в двоичной записи числа, вроде бы.
Точняк! мне тоже приходила такая мысль, а потом я вспомнил что в книге Рейнгольда, Нивергельта описывался хитрый способ подсчета единиц вот так: m = m & (m-1). а тут подсчет нулей через |. Прикольно однако!
0
ct0r
Игогошка!
1777 / 679 / 42
Регистрация: 19.08.2012
Сообщений: 1,295
Завершенные тесты: 1
04.10.2013, 00:19 #22
Мне эта задачка кажется напоминает о собеседовании в Касперском. Это оно?
0
04.10.2013, 00:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2013, 00:19
Привет! Вот еще темы с ответами:

Трудоустройство: что нужно знать для успешного прохождения собеседования в самые крутые компании? - C++
Добрый вечер. Напишите пожалуйста список того, что нужно знать для успешного прохождения собеседования в самые крутые компании, c++...

Заменить в коде циклы for на циклы while - C++
int i, j, n; bool a; cin >> i >> n; for (i; i<n; i++) { a = true; for (j = 2; j <= i / 2; j++) if ((i%j) == 0) a =...

Задание на массив и задание на матрицу. - C++
1.Удалить из массива A(n) нулевые элементы, передвигая на их место следующие элементы, не нарушая порядка их следования. В результате...

Циклы (2 задание) - Python
Составить и отладить процедуру для приближённого вычисления заданной функции y=f(x) путём суммирования членов заданного её ряда s(x)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.