Размещено 4 года назад по предмету
Информатика
от anonymazer2
язык с++ B4. Двоичные строки заданной длины в обратном порядке Ограничение времени 1 секунда Ограничение памяти 64Mb Ввод стандартный ввод или input.txt Вывод стандартный вывод или output.txt По данному числу N выведите все строки длины N из нулей и единиц в обратном лексикографическом порядке.
Формат ввода Задано единственное число N. (1 ≤ N ≤ 10)
Формат вывода Необходимо вывести все строки длины N из нулей и единиц в обратном лексикографическом порядке.
#include #include
using namespace std;
void fun_1(char ch, char arr[], int n) { for (int i = 0; i < n; i++) { arr[i] = ch; } }
void fun_2(char arr[], int n) { for (int i = 0; i < n; i++) { cout << arr[i]; } cout << endl; }
int fun_3(char ch, char arr[], int n) { unsigned short count = 0; for (int i = 0; i < n; i++) { if (arr[i] == ch) count++; } return count; }
int main() { int n; cin >> n; char* arr = new char[n]; fun_1('0', arr, n);
fun_2(arr, n);
do { unsigned short tm = n; while (arr[tm - 1] == '1') tm--; arr[tm - 1] = '1'; while (tm < n) { tm++; arr[tm - 1] = '0'; }