|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.08.2014, 23:51 | #1 |
Регистрация: 12.08.2014
Сообщений: 4
|
C++ заполнения трехмерного массива в форме шара
Здравствуйте, учу с++, такая задачка - есть трехмерный статический массив n*n*n забитый 0, нужно вписать в массив шар из "1" и вывести все послойно. Как вывести послойно я понимаю, но вот забить внутри шар из 1 не выходит(не могу придумать формулу условие для присваивания единиц).
Учили только условный оператор,циклы и массивы.(Без указателей,функций etc). Я понимаю как получить центр шара и радиус, но корректно придумать условие не выходит. Достаточно подсказать саму идею код мне и самому интересно будет написать =) |
13.08.2014, 00:19 | #2 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Просто геометрической формулой. Допустим есть массив [-5..+5, -5..+5, -5..+5], "радиус" которого 5, а центр в (0,0,0)
Берём в тройном цикле на i, j, k каждую координату и вычисляем расстояние до центра. Если корень_из( i^2 + j^2 + k^2 )< radius то значит точка в сфере. Если массив [0..3, 0..3, 0..3], то радиус 1.5, центр в (1.5, 1.5, 1.5) откуда аналогично корень_из( (i-1.5)^2 + (j-1.5)^2 + (k-1.5)^2 )< radius ... |
13.08.2014, 00:54 | #3 |
Регистрация: 12.08.2014
Сообщений: 4
|
Спасибо за ответ .Получается достаточно сделать радиус n/2 и получиться условие корень из (i-n/2)^2 + (j-n/2)^2 + (k-n/2)^2 < n/2 и все это в тройном цикле.
|
13.08.2014, 03:17 | #4 |
Регистрация: 12.08.2014
Сообщений: 4
|
Что здесь неправильно?
Код:
Последний раз редактировалось Nicehell; 13.08.2014 в 04:10. |
13.08.2014, 11:30 | #5 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
^ - не возведение в степень, а битовая операция "исключающее или".
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
13.08.2014, 14:08 | #6 |
Регистрация: 12.08.2014
Сообщений: 4
|
спасибо, теперь все работает =)
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C++. Запись двух/трехмерного массива в файл. | Noyabr | Помощь студентам | 0 | 21.01.2012 11:51 |
Заполнения массива разными цифрами у VB | legendary | Помощь студентам | 1 | 30.11.2010 18:07 |
заполнения двумерного массива С++ | Caнёk | Помощь студентам | 10 | 26.10.2010 17:24 |
Заполнение трехмерного массива | General_vrn | Общие вопросы Delphi | 2 | 03.05.2010 16:59 |