Форум программистов, компьютерный форум CyberForum.ru

операция сдвига - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функция для сравнения двух массивов http://www.cyberforum.ru/cpp-beginners/thread663869.html
Функция нужна для ответа на вопрос задачи "Верно ли, что все элементы 1-ой последовательности входят во 2-ю последовательность." помогите пожалуйста
C++ Строка с C в C++ Вот фрагмент, помогите, пожалуйста перевести на язык C++, спасибо while(scanf("%d %d",&a,&b) == 2) { ... } http://www.cyberforum.ru/cpp-beginners/thread663853.html
C++ Упорядочить массив R(L) по невозростанию
Привет всем, помогите пожалуйста с кодом, заранее благодарен. Упорядочить массив R(I) по невозростанию, используя следующий подход: для i=2,3,....,I каждый элемент {r}_{i} вставлять в нужное место среди упорядоченных ранее элементов r1,r2,..,r(i-1) раздвигая их за счет {r}_{i}
C++ Вызов деструктора
При ручном вызове деструктора, освобождается ли память*
C++ Сортировка одномерного массива http://www.cyberforum.ru/cpp-beginners/thread663828.html
Всем доброго времени суток! Имеется одномерный массив A(N), состоящий из 0, 1 или 2. Переставить элементы массива так, чтобы сначала располагались все нули, затем все двойки и, наконец, все единицы (дополнительного массива не заводить). Решение задачи оформит в виде функции, которая получает в качестве параметров указатель на массив и количество элементов массива. Надеюсь на вашу помощь:)
C++ ругается на конструктор Помогите разобраться,пожалуйста с парочкой ошибок. Собственно пробовал написать программу для эмуляции работы телефона.Свойства:наличие заряда,счета,сети. В методах заряд\разряд(вкл\выкл),положить\снять деньги,найти сеть.Звонок проходит только при наличии всех 3х параметров. создал файл Mobile.h: class Mobile { public: virtual~Mobile(); void on_off(); void... подробнее

Показать сообщение отдельно
Elfenlide
23 / 23 / 1
Регистрация: 15.04.2012
Сообщений: 183
05.10.2012, 01:21     операция сдвига
Объясните пожалуйста как именно работает и для чего нужна операция сдвига влево, в выражении например:
N = 10;
r = 1 << N;

И если можете объяснить этот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include<iostream>
 
const int N = 10;
 
void Print(int *a, int n)
{
   int i = 0;
   while (n)
   {
       if (n & 1)
          std::cout << a[i] << " ";
       i++;
       n >>= 1;
   }
   std::cout << "\n";
}
 
int main()
{
   int r, i, a[N] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
   r = 1 << N;
   for (i = 0; i < r; i++)
      Print(a, i);
   return 0;
}
Тут находится булеан множества.
Пытаюсь разобрать чтобы адаптировать этот алгоритм для работы с классами, но что-то переделать под классы где объект это множество, не получается, если кто-то может простенький пример класса такого показать используя такой алгоритм, буду очень признателен за помощь.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru