Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реализовать динамический список с добавлением, изменением и удалением элементов по индексу Подскажите класс, для хранения динамических списков классов. Не хочу изобретать велосипед, а пока ничего адекватного не нашел... В Делфи есть TList. В яве есть List<int> my. Вроде и в с++ есть... https://www.cyberforum.ru/ cpp-beginners/ thread1250014.html C++ Реализовать программу, которая сохраняет три целые числа в текстовом файле и затем читает сохраненные данные
Доброй ночи, ув. форумчани! Помогите, пожалуйста. Реализовать программу, которая сохраняет три целые числа в текстовом файле и затем читает сохраненные данные. И нужна помощь с одной...
C++ Перевод из 16-ричной СС в 10 Здравствуйте, есть функция: void calc(int num,int base) { if (num == 0) return; int rem = num % base; if (rem <= 9) { calc(num/base,base); https://www.cyberforum.ru/ cpp-beginners/ thread1250000.html C++ Функция перевода строки символов в заданную СС https://www.cyberforum.ru/ cpp-beginners/ thread1249997.html
Здравствуйте, попалось мне задания которое выносит мои мозги. Нужно написать функцию которая будет переводить строку символов в заданную СС. Пример строки символов: ]1\i = 2<t 43-╪ = 2|Aba...
C++ Как определить - в какой системе счисления введены данные
Привет народ, такой вопрос: С++ как вы знаете понимает числа в восьмеричной (нужно поставить перед числом 0) и в шестнадцатеричной системах (нужно поставить перед числом 0X), так вот, можно ли...
C++ Написать функцию Quick Sort для массива с 2000 элементов https://www.cyberforum.ru/ cpp-beginners/ thread1249987.html
Написать функцию Quick Sort. Использовать написанную функцию для сортировки массива типа double на 2000 элементов. Нужна помощь:-|
C++ Не могу найти ошибку в функции перевода строк в 16-ричную СС Привет, есть функция: void calc(int num,int base) { if (num == 0) return; int rem = num % base; if (rem <= 9) { calc(num/base,base); https://www.cyberforum.ru/ cpp-beginners/ thread1249980.html Запись и чтение данных из внутренней флэш памяти винчестера, или получение ID винта C++
Доброго времени суток! Господа, есть у меня очень интересный вопрос, который очень хотелось бы решить. Суть вопроса в следующем: в каждом винчестере на данный момент есть внутренняя флэш память и...
C++ Сортировка в структуре - зависание при печати Уважаемые! Помогите! Как доходит до несортированного списка - не печатает а зависает!!!! не вижу почему! #include <iostream> #include <iomanip> using namespace std; https://www.cyberforum.ru/ cpp-beginners/ thread1249932.html C++ Консольный таймер Здравствуйте,мне для программы нужен консольный таймер,скажите пожалуйста,как его сделать. Знаю что тема уже поднималась,но там ответа я не нашел:( Помогите. https://www.cyberforum.ru/ cpp-beginners/ thread1249916.html
Не получается из входного потока с файла сравнить строки C++
Не получается из входного потока с файла сравнить строки... Вообще не хочет. Не понял почему. Вроде всё просто. Но не пишет. Просто считывает строки и выводит в консоль. А мне надо найти и выделить...
C++ Какую простую графическую библиотеку или класс использовать для разработки игры "Тетрис"? https://www.cyberforum.ru/ cpp-beginners/ thread1249901.html
Я с не давнего времени учу c++.И решил подкрепить знания как на мой взгляд достачно серьёзной программой -Тетрис. Решил написать текстовую версию и написав её процентов на 30 подумал что мой код...
4 / 4 / 6
Регистрация: 17.09.2012
Сообщений: 325
0

Как вывести трехмерный динамический массив - C++ - Ответ 6569758

02.09.2014, 10:09. Показов 2071. Ответов 2
Метки (Все метки)

народ можете подсказать) написал код, где заполняется трехмерный массив так как мне необходимо, но при его выводе часть массива, вместо нужных там значений выводит фиг знает какие числа, как будто массив не заполнен или не обьявлен, вот код
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#include <iostream>
using namespace std;
//заполнение трехмерного динамического массива
void fillingmas3(int n,float *a,float ***mas3)
{       
    int l=0;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            for(int k=0;k<n;k++)
            {
                if ((j>=n-1 && j<=4-k) ||(i>=k && j<=n-1))//условие заполнение трехмерного динамического массива
                {
                    /*if(l+1==n*n)
                    {
                        mas3[i][j][k]=a[l];
                        l=0;
                    }
                    else
                    {
                        mas3[i][j][k]=a[l];
                        l++;
                    }   */
                    mas3[i][j][k]=1;
                }                               
                else
                    mas3[i][j][k]=0;
            }
        }
        n--;
    }
}
//заполнение двухмерного динамического массива
void fillingmas2(int n,float *a,float **mas2)
{   
    int i = 0;
    int j = 1;
    mas2[0][0] = n*n; 
    for (int q = (n*n - 1); q>0;)//условие заполнения двухмерного динамического массива
    {
        for (; i < n && j >= 0; ++i, --j, --q)  mas2[i][j] = q;
        if (i < n && j<0) ++j;
        else    { --i; j += 2; }
        for (; i >= 0 && j < n; ++j, --i, --q)  mas2[i][j] = q;
        if (j < n)++i;
        else    { i += 2; --j; }
    }
    int l=0;
    //перенос данных из двухмерного динамического массива в одномерный
    for (int i = 0; i < n; ++i)
    {
        for (int j = 0; j < n; ++j)
        {
            a[l]=mas2[i][j];
            l++;
        } 
    }
}
//удаление динамических массивов
void deletemas(int n,float *a,float **mas2, float ***mas3)
{
    for (int i = 0; i < n; i++)
    {
        delete[] mas2[i];
    }
    delete[] mas2;
    for (int i = 0; i < n; i++)
    {
        for(int j=0;j<n;j++)
        {
            delete[] mas3[i][j];
        }
        delete [] mas3[i];
    }
    delete[] mas3;
    delete []a;
}
//отображение трехмерного динамического массива заполненого как нужно
void ShowFullCube(int n, float ***mas3)             
{
    int i,j,k;                                                             
    cout<<"\r\n\r\n\r\n";                                   
    for(k=n-1;k>=0;k--)                                        
    {
        for(j=0;j<n;j++)                                   
        {
            for(int l=n-j;l>=1;l--)           
                cout<<"   ";            
            for(i=0;i<n;i++)                   
                cout<<"     "<<mas3[i][j][k];
            cout<<"\r\n";                    
        }
        cout<<"\r\n\r\n\r\n";                   
    }
}
void main()
{
    int n;
    cout << "Insert n: ";
    cin >> n;
    float*** mas3 = new float**[n];
    for (int i = 0; i < n; i++)
    {
        mas3[i] = new float*[n];
        for(int j=0;j<n;j++)
        {
            mas3[i][j]=new float[n];
        }
    }
    float* a=new float[n*n];
    float** mas2 = new float*[n];
    for (int i = 0; i < n; i++)
    {
       mas2[i] = new float[n];
    }
    fillingmas2(n,a,mas2);
    fillingmas3(n,a,mas3);
    ShowFullCube(n,mas3);
    deletemas(n,a,mas2,mas3); 
    system("pause");
}
вот я делаю то же самое по сути, но без функции и работает все нормально, может я где неправильно что передаю в функцию или что-то упускаю, подскажите пожалуйста
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
#include <iostream>
using namespace std;
void main()
{   int n=5;
    float*** p = new float**[n];
    for (int i = 0; i < n; i++)
    {
        p[i] = new float*[n];
        for(int j=0;j<n;j++)
        {
            p[i][j]=new float[n];
        }
    }
    for(int i=0;i<5;i++)
    {
        for(int j=0;j<5;j++)
        {
            for(int k=0;k<5;k++)
            {
                if ((j>=n-1 && j<=4-k) ||(i>=k && j<=n-1))
                {
                    p[i][j][k]=1;
                }                   
                else
                    p[i][j][k]=0;
            }
        }
        n--;
    }
    int i,j,k;  
    n=5;
    cout<<"\r\n\r\n\r\n";                                   
    for(k=5-1;k>=0;k--)                                        
    {
        for(j=0;j<5;j++)                                   
        {
            for(int l=5-j;l>=1;l--)           
                cout<<"   ";            
            for(i=0;i<5;i++)                   
                cout<<"     "<<p[i][j][k];
            cout<<"\r\n";                    
        }
        cout<<"\r\n\r\n\r\n";                   
    }
    for (int i = 0; i < n; i++)
    {
        for(int j=0;j<n;j++)
        {
            delete[] p[i][j];
        }
        delete [] p[i];
    }
    delete[] p;
    system ("pause");
}


Вернуться к обсуждению:
Как вывести трехмерный динамический массив C++
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.09.2014, 10:09
Готовые ответы и решения:

Заполнить и вывести трехмерный динамический массив
Создать трехмерный динамический массив. Заполнить его случайными числами и вывести результат на...

Как создать динамический трехмерный массив и заполнить его случайными значениями?
Я больше по Java, но сейчас надо сделать пару задачек по плюсам. Одна из них звучит как-то так: ...

Трёхмерный динамический массив
Доброго времени суток! Не могу создать трёхмерный динамический массив! Точнее создаю один раз...

Трехмерный динамический массив
Здравствуйте друзья, я переписываю код с Delphi на C++. В Delphi был задан динамический трехмерный...

2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.09.2014, 10:09
Помогаю со студенческими работами здесь

Динамический трёхмерный массив
Товарищи, помогите найти ошибку. Создаю 3х мерный динамический массив: int z; cout&lt;&lt;&quot;Input...

Трехмерный динамический массив
Помогите создать трехмерный динамический массив, в c++ не сильно шарю, а в гугле нужной информации...

Трёхмерный динамический массив
Учусь делать многомерные динамические массивы. Написал прогу int _tmain(int argc, _TCHAR* argv)...

Динамический трёхмерный массив (создать)
Помогите создать трёхмерный динамический массив. int size=10; int ***Field; Field=new...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru