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

2d Двухмерный массив указателей - C++

Восстановить пароль Регистрация
 
Leeto
 Аватар для Leeto
7 / 7 / 0
Регистрация: 23.12.2011
Сообщений: 372
Записей в блоге: 1
25.05.2012, 15:12     2d Двухмерный массив указателей #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
//point1.h
#ifndef POINT_H
#define POINT_H
#include <iostream>
 
 
class CIntArray
{
    public: 
 
        CIntArray(); //defualt constructor 
        
        CIntArray ( int kiArraySize,int kjArraySize) 
{
    mipArray = new int (kiArraySize);
    mipArray = new int (kjArraySize);
}
~CIntArray (){
delete [] mipArray;
}
 
void SetAt( int kiIndex, int kjIndex,  double kiValue)
{
    mipArray[kiIndex,kjIndex] = kiValue;
 
}
 
int GetAt (const int kiIndex,const int kjIndex)
{
    return mipArray [kiIndex,kjIndex];
}
 
private:
    int* mipArray;
};
 
 
#endif
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
//main.cpp
#include "Point1.h"
 
#include <iostream>
using namespace std; 
 
int main () { 
    
 
 
     //************ Allocate a two-dimensional array of ints ******************
 
 
 
 
CIntArray** ippArray = new CIntArray*[3];
    for (int i=0; i < 3; ++i)
    {
    ippArray[i] = new CIntArray[2];
    }
 
 
 
    //************ Fill the array ******************
 
    for (int i = 0; i < 3; ++i){
            
                for (int j = 0; j < 2; j++){
        
    cout << "Input the integer #" << i << ": " ;
    double dInputValue;
    cin >>dInputValue;
    ippArray[i][j].SetAt(i,j, dInputValue);
                                                                    }
                                                                }
 
//************OutPut the array******************
 
for (int i = 0 ; i < 3 ; ++i)
    for (int j = 0; j < 2; ++j )
{
    cout << ippArray[i][j].GetAt(i,j) << " ";
}
cout << endl;
 
// ************ Deallocate ******************
        for (int i=0; i< 3; ++i)
    {
        delete [] ippArray[i];
    }
    delete [] ippArray; 
 
 
    system ("pause");
 
    return 0;
}
что то я совсем в синтаксисе запутался помогите, пожалуйста.
Хочется создать двухмерный динамический массив из указателей, т.е. юзая new() / delete() . Каждый элемент массива это точка с 2мя координатами (х,у). Ну соответственно нужно чтобы нормально выполнялся Allocate-йшен, заполнение массива, аутпут массива и дэалокейшен без утечки памяти (memory leak ).
Заранее огромное спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2012, 15:12     2d Двухмерный массив указателей
Посмотрите здесь:

Массив из указателей на масив из указателей на массив из int) C++
Двухмерный массив C++
Двухмерный массив C++
Двухмерный массив указателей из элементов объектов класса C++
Массив строк как массив указателей на массивы чаров C++
опп класс и массив (создать массив указателей по выборке животных, участвующих в забеге) C++
C++ Двухмерный массив
Двухмерный массив C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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