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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Likemilk99
0 / 0 / 0
Регистрация: 06.11.2012
Сообщений: 6
#1

Класс и двумерный массив - C++

06.11.2012, 23:28. Просмотров 447. Ответов 5
Метки нет (Все метки)

Здравствуйте , не могу понять почему после создания двумерного массива и заполнения его ,при вызове его в другом методе, он обращается к другому куску памяти .Учусь на Borland 3.1 . Внизу есть пример запуск , где я вывожу адреса ячеек массива и сам код .Заранее спасибо .

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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
class TREE{
    public:
        int **tree;
        int max;
    public:
        void make_tree();
        void output();
 
};
 
void TREE :: make_tree()
{
    srand(time(NULL));
    max=0+rand()%10;
    printf("%d\n",max);
    getch();
    int **tree=new* [max];
    for(int i=0;i<max;)
    {
        tree[i]=new [max];
        i++;
    }
    for(i=0;i<max;i++)
    {
        cout<<"\n"<<'('<<i<<')';
        for(int t=0;t<max;t++)
        {
            tree[i][t]=2;
            cout<<'('<<t<<')'<<&tree[i][t]<<' ';
 
        }
    }
}
void TREE :: output(){
    cout<<"\n------------------------";
    for(int i=0;i<max;i++)
    {
        printf("\n");
        for(int t=0;t<max;t++)
        {
               cout<<&tree[i][t]<<' ';
        }
    }
}
void main()
{
    TREE A;
    clrscr();
    A.make_tree();
    A.output();
    getch();
}
Миниатюры
Класс и двумерный массив  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2012, 23:28     Класс и двумерный массив
Посмотрите здесь:

Реализовать класс: “Двумерный массив” - C++
Реализовать класс: “Двумерный массив”. Реализовать: - Конструктор инициализации, имеющий два параметра (количество строк и...

Класс матрица, описывающий двумерный массив - C++
Здравствуйте. Хочу разобраться и создать класс. Имеется код, но мне он кажется слишком сложным, как можно упростить его для лучшего...

Шаблонный класс, определяющий двумерный динамический массив - C++
Прошу помощи Задание: Создайте шаблонный класс, определяющий двумерный динамический массив, тип элементов которого задается аргументом...

Разработать класс SqArrayOfInt – двумерный массив целых чисел - C++
Разработать класс SqArrayOfInt – двумерный массив целых чисел. Физически данный массив должен состоять из вектора массивов типа ArrayOfInt....

Создать класс, который представляет собой двумерный массив размером n x m - C++
1. Создать класс, в котором объектом является двумерный массив размером n x m я уже все перепробывала не получаеться вот мой код ...

Класс "Двумерный динамический массив" - C++
Программа вылетает при вызове деструктора. Подскажите почему это происходит. private: size_t m_row; size_t m_column; int**...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.11.2012, 23:34     Класс и двумерный массив #2
Цитата Сообщение от Likemilk99 Посмотреть сообщение
tree[i]=new [max];
Тип нужно указывать. Впрочем, не знаю как там в Борланде.
Цитата Сообщение от Likemilk99 Посмотреть сообщение
cout<<&tree[i][t]<<' ';
Здесь амперсанд лишний.

Добавлено через 1 минуту
Likemilk99, на скрине отчетливо видны адреса двухбайтового int. Причину я указал.
Likemilk99
0 / 0 / 0
Регистрация: 06.11.2012
Сообщений: 6
06.11.2012, 23:36  [ТС]     Класс и двумерный массив #3
Это для того чтобы адрес памяти ячейки вывести. Хотел понять ,почему он записывает одно ,а вывод другое.
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
06.11.2012, 23:42     Класс и двумерный массив #4
Пытаюсь найти ошибку, запустил из Visual Studio. Действительно чёрт знает что.
Думаю.

Цитата Сообщение от go Посмотреть сообщение
Здесь амперсанд лишний. Тип нужно указывать.
Не, не то.
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.11.2012, 23:46     Класс и двумерный массив #5
Цитата Сообщение от Likemilk99 Посмотреть сообщение
int **tree=new* [max];
21-ая строка.
C++
1
tree = new int* [max];
Добавлено через 3 минуты
Или же
C++
1
TREE::tree = tree;
в конце в void TREE::make_tree()
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2012, 23:58     Класс и двумерный массив
Еще ссылки по теме:

Создать класс "Двумерный массив" - C++
Создать класс, в котором объектом является двумерный массив размером n x m

Как можно вложить двумерный массив в двумерный? - C++
Нужно написать программу перемножения двух матриц размерностью МxМ, элементы которых, матрицы размерностью КxК... Подскажите (желательно с...

Описать класс Массив, найти массив, состоящий из элементов первого и второго массива - C++
Процедура по поиску такого массива работает, но после нее меняются элементы первого массива. И еще вопрос - как в конце программы...

Двумерный массив - C++
Помогите перевести с Паскаля. Задание - . В квадратной матрице А определить наименьшие элементи каждой строки и найти их сумму. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Likemilk99
0 / 0 / 0
Регистрация: 06.11.2012
Сообщений: 6
06.11.2012, 23:58  [ТС]     Класс и двумерный массив #6
go , спасибо большое использовал TREE::make_tree() в конце функции , все заработало !
Yandex
Объявления
06.11.2012, 23:58     Класс и двумерный массив
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru