Дана матрица размера m × n и целое число k (1 ≤ k ≤ m). перед строкой матрицы с номером k вставить строку из нулей. построить блок-схемукод: #include "pch.h"#include using namespace std; int main(){ //задаем размер первого массива int const n = 3; int const m = 4; int a[m][n]; //вводим к int k = 3; //задаем второй массив, в который в итоге перенесем все элементы int b[m + 1][n]; //заполняем первый массив for (int i = 0; i < m; i++) { cout < < "enter string " < < i + 1 < < endl; for (int j = 0; j < n; j++) { cin > > a[i][j]; } } cout < < endl; cout < < endl; cout < < endl; //выводим первый массив for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { cout < < a[i][j] < < " "; } cout < < endl; } //приравниваем части до нулевой строки for (int i = 0; i < k - 1; i++) { for (int j = 0; j < n; j++) { b[i][j] = a[i][j]; } } //добавляем нулевую строку перед строкой"к" for (int i = 0; i < n; i++) { b[k - 1][i] = 0; } //приравниваем оставшиеся строки for (int i = k; i < m + 1; i++) { for (int j = 0; j < n; j++) { b[i][j] = a[i - 1][j]; } } cout < < endl; cout < < endl; cout < < endl; //выводим результат for (int i = 0; i < m + 1; i++) { for (int j = 0; j < n; j++) { cout < < b[i][j] < < " "; } cout < < endl; }}
Если бы сад состоял из двух деревьев, то было бы два варианта садов: 100+99 и 100+101. Если бы досадили третье дерево, то каждый из предыдущих садов удвоил бы число вариантов: первый 100+99+98 и 100+99+100, и так же второй 100+101+100 и 100+101+102. Подмечаем закономерность: каждое добавляемое дерево удваивает количество вариантов. А сад из одного дерева имеет лишь один вариант.
Поэтому ответ: 1 * 2 * 2 * 2 * ... (десять двоек умножаются) = 2^10 = 1024 варианта садов.
Думаю что так, если не напутал. Но ты лучше проверь за мной.