Другие языки программирования и технологии

Помогите в написании программы на языке С++

Поле размером NxM заполнено прозрачными и непрозрачными кубиками. Найти все столбцы поля, все непрозрачные кубики которых невидимы для наблюдателя, расположенного слева.
короче, суть такая: создаешь матрицу, заполняешь ее 1 и 0. 1 - непрозрачный кубик, 0 - прозрачный.
получается что-то типа того:

0 1 0 1 1 1
1 1 0 1 0 0
0 0 0 0 1 0
1 1 1 0 0 0
0 0 1 0 1 1

непрозрачный кубик в позиции (n,m) будет не видет тогда, когда на позиции (n, m-1) тоже непрозрачный кубик.
т. е. берешь кубик с координатами (n,m) и смотришь на кубик с координатами (n, m-1). Если там 1, то переходишь на следующую строку, если 0, то смотришь кубик с координатами (n, m-2). И так до тех пор, пока не будут найдены координаты, содержащие 1 или не будет проверен первый столбец. Если нет координат, удовлетворяющих условию, переходишь к следующему столбцу. И так до конца матрицы.
Например, в моем примере столбцами, удовлетворяющими условие, являются №4 и №6
Данияр Абдукаримов
Данияр Абдукаримов
7 972
Лучший ответ
Неужели в уже готовом решении тебя настолько смутила замена слова "кубик" на слово "ящик" и отсутствие освобождения выделенной памяти по окончании работы программы, что ты опять взываешь о помощи?

Не понимаю, чем еще можно помочь?

Update:
Мог бы и весь код не копипастить.

> generate_n(field[r], m, [](){ return rand() % 5 == 0; }); //на вот эту строку ругается C++Builder

Билдер та еще какашка, используй современные компиляторы.

До функции main добавить функцию:
bool rndop() { return rand() % 5 == 0; }

Вместо
generate_n(field[r], m, [](){ return rand() % 5 == 0; });

написать
generate_n(field[r], m, rndop);

Только все это бесполезно. Во первых, неизвестно в каком месте данной программы билдер может споткнутся в очередной раз. Во вторых, ты не сможешь объяснить, как работает эта программа. В третьих, скорее всего никто не сможет объяснить, как работает эта программа, тебе.
здравствуйте, мне нужно построить кубик на языку с++ помогите пожалуйста