Другие языки программирования и технологии
Помогите в написании программы на языке С++
Поле размером 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
получается что-то типа того:
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
Неужели в уже готовом решении тебя настолько смутила замена слова "кубик" на слово "ящик" и отсутствие освобождения выделенной памяти по окончании работы программы, что ты опять взываешь о помощи?
Не понимаю, чем еще можно помочь?
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);
Только все это бесполезно. Во первых, неизвестно в каком месте данной программы билдер может споткнутся в очередной раз. Во вторых, ты не сможешь объяснить, как работает эта программа. В третьих, скорее всего никто не сможет объяснить, как работает эта программа, тебе.
Не понимаю, чем еще можно помочь?
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);
Только все это бесполезно. Во первых, неизвестно в каком месте данной программы билдер может споткнутся в очередной раз. Во вторых, ты не сможешь объяснить, как работает эта программа. В третьих, скорее всего никто не сможет объяснить, как работает эта программа, тебе.
здравствуйте, мне нужно построить кубик на языку с++ помогите пожалуйста
Похожие вопросы
- Помогите с написанием программы на языке Ассемблер, алгоритм знаю, вот только команды самого языка - не очень.
- Помогите в написании программы на языке с++
- Помогите с заданием по написанию программы на языке ассемблер, вычисляющую значение переменной R.
- Pycharm (Пожалуйста, помогите с написанием программы)
- Помогите в написании программы.
- Помогите пожалуйста написать программу на языке программирования AssemblerКто первый поможет сделать правильно10балов+50
- помогите с написанием программ на паскале
- Помогите с написанием программы C++
- Помогите с написанием программы
- помогите с написание программы плиз: