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

Разложить число на сумму степеней двойки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проверить упорядочены ли элементы вектора. Если нет, то упорядочить в порядке убывания методом стандартного обмена http://www.cyberforum.ru/cpp-beginners/thread658844.html
Дан вектор размерности N. Проверить упорядочены ли элементы вектора. Если нет, то упорядочить в порядке убывания методом стандартного обмена.
C++ Если элементы, расположенные правее минимального, упорядочены в порядке возрастания, то найти произведение элементов, расположенных перед максимальным Дан вектор размерности N. Если элементы, расположенные правее минимального, упорядочены в порядке возрастания, то найти произведение элементов, расположенных перед максимальным. http://www.cyberforum.ru/cpp-beginners/thread658843.html
C++ Все элементы, кроме первого, заменить средним арифметическим всех предыдущих
Все элементы, кроме первого, заменить средним арифметическим всех предыдущих.
Найти произведение элементов, расположенных правее первого элемента равного первого элемента равного k C++
Дан вектор размерности N. Найти произведение элементов, расположенных правее первого элемента равного первого элемента равного k.
C++ Переписать одномерный массив в двумерный http://www.cyberforum.ru/cpp-beginners/thread658834.html
Не пойму как реализовать задачу. Помогите с кодом :) Хотя-бы для первой части задачи Переписать исходный одномерный массив с количеством элементов, соответствующим принятому простому числу, в двумерный массив. В полученном массиве определить два максимальных элемента.
C++ Формирование массива по заданному правилу Дан массив A размера N (одномерный). Сформировать новый массив B того же размера по следующему правилу: элемент BK равен сумме элементов массива A с номерами от K до N подробнее

Показать сообщение отдельно
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
27.09.2012, 10:36     Разложить число на сумму степеней двойки
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
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <locale.h>
 
#include <iostream>
 
#define bit(reg,n) reg & (_int64)pow(2.,n) ? 1 : 0 \
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian");
 
    _int64 N = 0xFFFFFFFFFFFFFFFF; // superuser
    for (int r = 0; r <= 64; r++)
    {
        if (!bit(N, r)) continue;
 
        switch (r)
        {
            case 2:  cout << "создание объекта" << endl; break;
            case 4:  cout << "создание субъекта" << endl; break;
            case 8:  cout << "удаление объекта" << endl; break;
            case 16: cout << "удаление субъекта" << endl; break;
            case 32: cout << "внесение прав" << endl; break;
            case 64: cout << "удаление прав" << endl; break;
        }
    }
 
    _getch();
 
    return 0;
}
 
Текущее время: 15:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru