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

ошибка в обращение к массиву - C++

Восстановить пароль Регистрация
 
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 284
10.03.2013, 16:07     ошибка в обращение к массиву #1
Можете подсказать почему у меня выдает ошибки на строках
C++
1
Mas[k][j][i]=(i*z*y+j*z+k);
и
C++
1
cout <<Mas[k][j][i]<<"/t";
в коде, я же вроде бы не динамеческий массив сделал, а пишет вроде надо указатель на массив или что-то в етом вроде, подскажите как исправить пожалуйста
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
#include <iostream>
using namespace std;
class CCube
{
    int Mas;
public :
    CCube (int x,int y,int z):Mas(x*y*z)
    {}
    ~CCube();
    void FillCube (int x, int y, int z);
    void ShowCube(int x, int y, int z);
};
void CCube::FillCube (int x, int y, int z)
{
    for (int i = 0; i<x;i++)
    {
        for (int j = 0; j<y;j++)
        {
            for( int k =0;k<z;k++)
                Mas[k][j][i]=(i*z*y+j*z+k);
        }
    }
}
void CCube::ShowCube (int x,int y,int z)
{
    for (int i = 0; i<x;i++)
    {
        for (int j = 0; j<y;j++)
        {
            for (int k = 0;k<z;k++)
            {
                cout <<Mas[k][j][i]<<"/t";
            }
        cout <<endl;
        }
        cout <<endl<<endl;
    }
}
void main ()
{
    int x, y, z;
    
    cout <<"vvedite razmernoct massiva" << endl << "znachenie x = ";
    cin >> x;
    cout << "znachenie y = ";
    cin >> y;
    cout << "znachenie z = ";
    cin >> z;
    
    CCube cube(x, y, z);
 
    cube.FillCube (x,y,z);
    cube.ShowCube(x,y,z);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
10.03.2013, 16:13     ошибка в обращение к массиву #2
Вообще не пойми чего
C++
1
2
3
4
5
int Mas;//Объявляем int
//....
CCube (int x,int y,int z):Mas(x*y*z)//инициализируем как int
//...
Mas[k][j][i]=(i*z*y+j*z+k);//Тут работаем как с указателем...
итернал
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 284
10.03.2013, 16:15  [ТС]     ошибка в обращение к массиву #3
ну, ето я понял, что дело в етом, но как ето исправить, что-то немогу сообразить, я же вроде бы не использую (*) когда к нему обращаюсь или я что-то не так понимаю? в чем моя ошибка?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
10.03.2013, 16:17     ошибка в обращение к массиву #4
Объявили целочисленную переменную, потом инициализировали, а потом работаете с целочисленной переменной как с указателем на трехмерный массив
Yandex
Объявления
10.03.2013, 16:17     ошибка в обращение к массиву
Ответ Создать тему
Опции темы

Текущее время: 23:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru