Форум программистов, компьютерный форум CyberForum.ru

Инициализация N-мерного динамического массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести число вышедших чисел http://www.cyberforum.ru/cpp-beginners/thread776960.html
Есть код который выводит четные. А как сделать чтобы он вдобавок к этому выводил после подсчета число вышедших чисел? #include <iostream> using namespace std; int main() { int N; cout <<"Enter N:"; cin >>N;
C++ Ошибка перегрузки + в классе Не понимаю в чём проблема, ошибка возникает во время работы программы, сообщает что продолжается запись после работы этого блока. template <class T> array<T> array<T>::operator +(const array<T>& A){ array<T> temp; size > A.size ? temp.size = size : temp.size = A.size; temp.ptr = new T ; for(size_t i = 0; i < temp.size; i++){ if( (i < this->size) && (i< A.size))//проверяю размерность... http://www.cyberforum.ru/cpp-beginners/thread776939.html
Вычислить значение функции C++
Составить программу вычисляющую
C++ Не считает площадь
#include "stdafx.h" #include <iostream> #include <math.h> using namespace std; class Triangle{ protected: int a,b,c; public: Triangle(void);
C++ Найти площадь треугольника и радиусы вписанной и описанной окружностей http://www.cyberforum.ru/cpp-beginners/thread776906.html
Дана сторона равностороннего треугольника. Найти площадь этого треугольника и радиусы вписанной и описанной окружностей.
C++ Вычислить значение выражения Помогите пожалуйста подробнее

Показать сообщение отдельно
fuelcs
12 / 12 / 0
Регистрация: 23.01.2013
Сообщений: 143
01.02.2013, 19:13     Инициализация N-мерного динамического массива
Добрый день.
Возникла идея написать функцию, которая инициализировала n-мерный динамический массив, что бы не писать кучу вложенных циклов.
Например если мы создаем указатель на массив так:
C++
1
int** a = new int* [n];
то инициализировать массив можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
template<typename T>
void func (T (&a),int n)
{
    for(int i=0; i<n; i++)
    {
        a[i]= new int[n];
        for(int j=0; j<n; j++)
        {
            a[i][j]=i*n+j+1;
        }
    }
}
int main ()
{
    ...
    func(a,n);
    ...
}
Не могу придумать алгоритм. Загвоздка в том, как программно определить или задать "порядок" указателя.
Например если у меня указатель "четвертого порядка":
C++
1
int**** a
то как значению a[i] присвоить new int*** [n]?
Заранее благодарен за ответы...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru