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

Перебор числа в 2ичной системе, используя boolean - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Пользователь вводит текущее время в формате: часы:минута и если 0:00 - 5:59 программа пишет Night, если 6:00-11:59 morning http://www.cyberforum.ru/cpp-beginners/thread910806.html
Помогите написать код для этой задачи(на С++): Пользователь вводит текущее время в формате: часы:минута и если 0:00 - 5:59 программа пишет Night, если 6:00-11:59 morning, если от 12:00-17-59 day, если от 18:00-23:59 evening + защита от "дурака".
C++ Текстовый редактор 2 Вот мой редактор..очень надо к нему добавить функции открытия, сохранения и вставки.. помогите! #include <wx/wx.h> class MyApp : public wxApp { http://www.cyberforum.ru/cpp-beginners/thread910804.html
Програмирование физически процесов C++
Задача о теле брошенном под углом к горизонту дан угол альфа начальная скорость и сопротивление среды масса обьекта как не решая дифференциальные уравнения тоесть не имея общего решения построить траекторию?
Найти и напечатать числа, которые встречаются в массиве более одного раза C++
Одномерный массив А состоит из 30 элементов. Найти и напечатать числа, которые встречаются в массиве более одного раза.
C++ Зависимость значений от модификатора доступа http://www.cyberforum.ru/cpp-beginners/thread910771.html
Здравствуйте! У меня возник очень странный вопрос, с которым я совсем запутался вот функция, которая работает с переменными какого-то объекта класса: void set_adr(string adr_, Directory *dr) { dr->adr = adr_+"\\"+dr->name;
C++ Как пресечь ввод текста вместо цифр? В общем имеется простая программка. Почему то на ввод текста реагирует как выполнение первого условия? Как сделать так чтобы на ввод текста выдавать ошибку? #include <iostream> using namespace std; int main() { int x; cout << "VVedite chislo: "; подробнее

Показать сообщение отдельно
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.06.2013, 17:02     Перебор числа в 2ичной системе, используя boolean
last13day, все намного проще. вводите разрядность n и все:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
 
void Print(int a, int n)
{
   for(int i = n - 1; i >= 0; --i)
      std::cout << ((a >> i) & 1);
   std::cout << std:: endl;         
}
 
int main()
{
   int n, i;
   std::cin >> n;
   for(i = 0; i < (1 << n); ++i)
      Print(i, n);
   return 0;        
}
хотите через массив, тоже просто, используйте рекурсию:
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
#include<iostream>
const int N = 5;
 
void Print(int *a, int n)
{
   for(int i = 0; i < n; ++i)
      std::cout << a[i];
   std::cout << std:: endl;         
}
 
void Generate(int *a, int i, int n)
{
   if (i == n)
      Print(a, n);
   else
   {
      a[i] = 0;
      Generate(a, i + 1, n);
      a[i] = 1;
      Generate(a, i + 1, n);
   }
}
 
int main()
{
   int b[N];
   Generate(b, 0, N);
   return 0;        
}
 
Текущее время: 11:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru