Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
Nick Alte
Эксперт С++
1647 / 1019 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
28.01.2010, 20:16

Не параллелипеидальный объёмный массив

28.01.2010, 20:16. Просмотров 672. Ответов 3
Метки (Все метки)

Ответ

Задай свою формулу для перевода в линейные координаты, в зависимости от специфики. Тут надо помнить, что массив всё-таки состоит из дискретных элементов. Рассмотрим простейший случай независимых уникальных индексов. Допустим, ты задаёшь произвольную индексацию вида array[бульбуль][траляля][куку], и любое уникальное сочетание бульбуль, траляля и куку задаёт уникальную ячейку. Тогда при любых фиксированных бульбуль и траляля ты должен знать минимальное и максимальное куку. Это часть линейной последовательности. Далее, для каждого фиксированного бульбуль ты знаешь диапазон траляля. Ну и диапазон бульбуль ты знаешь сам по себе. Тогда линейный массив получается так: ты перебираешь все значения бульбуль, для каждого такого значения - все допустимые значения траляля, для каждой этой пары ты получаешь кусок линейной последовательности, который укладываешь сразу за предыдущим. Соответствующим образом выстраиваешь формулы для прямого и обратного перевода.
Важно точно представлять себе, как расположены в пространстве отдельные ячейки и сколько ты готов заплатить за такую адресацию. Например, если ты хочешь адресовать уложенные кубики декартова пространства сферическими координатами, ты можешь сначала переводить сферические координаты в декартовы, округлять их, получая прямоугольный адрес, и извлекать нужную ячейку из массива объектов - кругов переменного радиуса, где каждый из кругов имеет собственное преобразование адресов и состоит из набора строк переменной длины. Или ты-таки можешь написать единую функцию, определяющую в зависимости от радиуса количество колец, количество строк в каждом кольце и длину каждой строки, общее количество ячеек и что там ещё может понадобиться, и всё-таки пользоваться линейным массивом.

Вернуться к обсуждению:
Не параллелипеидальный объёмный массив
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2010, 20:16
Готовые ответы и решения:

Определить объёмный состав
Добрый вечер. Помогите пожалуйста решить задачу В закрытом сосуде ёмкостью 8 м^3 находится газ,...

Вывести на печать массив X, массив Z, массив Y, произведение элементов массива X, упорядоченный массив Y
Вывести на печать массив X, массив Z, массив Y, произведение элементов массива X, упорядоченный...

3
Другие темы раздела
C++ Проверка 3-ех примеров (Решать ничего не нужно) http://www.cyberforum.ru/cpp-beginners/thread88723.html
Всем привет! =) У меня такая проблемка,кто сталкивался,или может решить,помогите пожалуйста =) Буду очень признателен! Итак,даны три задачи: 1) Даны натуральные числа n и m. Вычислить:...
C++ Структура. Работа с файлом. Создать структуру описывающую библиотеку: struct library { char book; //название книги char author; //автор int year; //год издания int pages; //число страниц float price; //цена }; http://www.cyberforum.ru/cpp-beginners/thread88718.html
Перегрузка файлового ввода-вывода C++
Здравствуйте! У меня вопрос такой вот: для файлового ввода-вывода сколько надо функций перегружать? столько хватит friend std::ostream & operator<<(std::ostream & os, const Order & o);...
Последовательности пробелов заменнить символом табуляции C++
нужно написать программу, которая, запросив у пользователя имя входного текстового файла и цену символа “HT- горизонтальный табулятор” (2...8 символьных позиций) формирует выходной текстовый файл...
C++ Не подсчитывает общее количество http://www.cyberforum.ru/cpp-beginners/thread88701.html
При разборе простейшей программы возникли затруднения. Код программы: #include <iostream.h> main () { int passes = 0, failures = 0, student = 1, result; while (student <= 10) {
C++ Поиск. Последовательный поиск Через 2 дня сдавать лабу =-O , а я до сих пор ни могу с ней справиться :umnik: ... Препад, чесное слово " дебил " :-| , дал задания, а литературы или полезной информации ни дал, сказал ищите сами,... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru