Перебор 0 и 1 в си? Надо перебрать все возможные комбинации 0 и 1, например вводим число 2, на выходе получаем
0 0,
0 1,
1 0,
1 1
и так для любого числа

21 Авг 2019 в 06:23
269 +1
0
Ответы
1

Вот пример программы на языке C, которая перебирает все возможные комбинации 0 и 1 для заданного количества битов:

#include <stdio.h>
#define MAX_BITS 32
void generateBinary(int n, int arr[], int index) {
if (index == n) {
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return;
}
arr[index] = 0;
generateBinary(n, arr, index + 1);
arr[index] = 1;
generateBinary(n, arr, index + 1);
}
int main() {
int n;
printf("Введите количество битов: ");
scanf("%d", &n);
if (n < 1 || n > MAX_BITS) {
printf("Некорректное количество битов.\n");
return 1;
}
int arr[MAX_BITS];
generateBinary(n, arr, 0);
return 0;
}

Пример работы программы:

Введите количество битов: 2
0 0
0 1
1 0
1 1

Программа умеет работать с битами в пределах от 1 до 32, так как используется целочисленный массив фиксированного размера для хранения текущей комбинации.

20 Апр 2024 в 13:19
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир