Форум программистов, компьютерный форум 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++ Вычислить значение выражения Помогите пожалуйста подробнее

Показать сообщение отдельно
Avazart
7063 / 5240 / 262
Регистрация: 10.12.2010
Сообщений: 23,054
Записей в блоге: 17
01.02.2013, 21:20     Инициализация N-мерного динамического массива
Вариант с перегрузкой
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//---------------------------------------------------------------------------
using namespace std;
//---------------------------------------------------------------------------
template<typename T>
void func(T* a, size_t sizeX, T start)
{
    for(size_t x=0; x<sizeX; x++) a[x]= x+start;
}
//----------------------------------
template<typename T>
void func(T** a, size_t sizeX, size_t sizeY, T start)
{
    for(size_t y=0; y<sizeY; y++)
     {
         a[y]= new T[sizeX];
         func<T>(a[y], sizeX, y*sizeX+start);
     }
}
//----------------------------------
template<typename T>
void func(T*** a, size_t sizeX, size_t sizeY,size_t sizeZ, T start)
{
    for(size_t z=0; z<sizeZ; z++)
     {
         a[z]= new T*[sizeY];
         func<T>(a[z],sizeX, sizeY, z*sizeY*sizeX+start);
     }
}
//---------------------------------------------------------------------------
//  И. т. д.
//---------------------------------------------------------------------------
int main(int argc, char* argv[])
{
const size_t sizeX= 5;
const size_t sizeY= 4;
const size_t sizeZ= 3;
 
double*** A = new double** [sizeZ];
 
func(A,sizeX,sizeY,sizeZ,1.5);
 
for(size_t z=0; z<sizeZ; z++)
    {
        for(size_t y=0; y<sizeY; y++)
            {
                for(size_t x=0; x<sizeX; x++) cout<< A[z][y][x] <<"\t";
                cout<<endl;
            }
        cout<<endl<<endl;
    }
 
getchar();
return 0;
}
//---------------------------------------------------------------------------
Вывод:
0 1 2 3 4
5 6 7 8 9
10 11 12 13 14
15 16 17 18 19

20 21 22 23 24
25 26 27 28 29
30 31 32 33 34
35 36 37 38 39

40 41 42 43 44
45 46 47 48 49
50 51 52 53 54
55 56 57 58 59
Добавлено через 5 минут
Но собственно странный порядок у вас изучения ООП еще не учили, зато шаблоны уже...
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru