Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Wolkodav
605 / 458 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
#1

Матрицы (обращение к двумерному массиву) - C++

22.06.2013, 01:38. Просмотров 588. Ответов 2
Метки нет (Все метки)

Народ, решил на досуге для собственного использования создать класс матрица( пока пробный). Разумеется захотелось обращаться как к нормально двух-мерному массиву [i][j]. И вот тут возникли проблемы.
Хочется нормального обращения к элементам массива, но увы не получается.

Matrix.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class CMatrix
{
private:
    int** _matr;
    int _n;
    int _m;
public:
    CMatrix(int n=0,int m=0);
    CMatrix(const CMatrix& matrix);
    CMatrix& operator= (const CMatrix& matrix);
        int* operator[](int i)const;
    friend ostream& operator<<(ostream& out,const CMatrix& matrix);
    friend istream& operator>>(istream& in,CMatrix& matrix);
    ~CMatrix(void);
};
C++
1
2
3
4
int* CMatrix::operator[](int i)const
{
    return _matr[i];
}
Я возвращаю массив, соответственно могу обращаться к нему по индексу.
C++
1
2
CMatrix A(2,2);
cout<<A[0][0];
По логике это должно работать. Получили массив, взяли его элемент и вуаля. Но не работает, где я ошибаюсь или что я не так понимаю?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2013, 01:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Матрицы (обращение к двумерному массиву) (C++):

Реализация механизма обращения к двумерному массиву - C++
Приветствую участников форума. Есть у нас класс с указателем какого-то типа. Мы выделяем память под массив размера N. При этом мы можем,...

Нужен урок по одномерном и двумерному динамическому массиву - C++
Нужен урок по одномерном и двумерному динамическому массиву

Не получается присвоить значение двумерному массиву char - C++
объявляю двумерный массив (массив массивов в char для хранения имен файлов) в cpp файле char m_fname ; я хочу инициализировать...

Как присвоить двумерному символьному массиву значение? - C++
Проблема в строке 18. Как будет правильно? #include &lt;cstdio&gt; int main() { char buf; int i,j,N,time,t,k,buftime,m; ...

Присваивание элементов двумерного массива другому двумерному массиву - C++
нужно элементы одного двумерного массива присвоить другому. Вот программа. Но для одномерного массива она работает, если соответственно...

Можно ли значения двумерного динамического массива присвоить обыкновенному двумерному массиву? - C++
Столкнулся с проблемой с динамическими массивами, можно ли значения двумерного динамического массива присвоить обыкновенному двумерному...

2
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
22.06.2013, 11:42 #2
@Wolkodav, ну так то всё будет работать=) может чего именно в заполнении матрицы не так написано=) потому что у меня именно так и всё ок=)
0
Wolkodav
605 / 458 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
22.06.2013, 12:59  [ТС] #3
@drdrink, да? Клёво. Ладно. Закономерный вопрос. Смотрите
C++
1
2
3
4
5
CMatrix A(2,2)
int* a=A[0];
delete[] a;
for (int i=0;i<2;i++)
cout<<A[0][i];
Вот тут косяк выскочит, мы испортим строку в матрице. Как такого избежать?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2013, 12:59
Привет! Вот еще темы с ответами:

ошибка в обращение к массиву - C++
Можете подсказать почему у меня выдает ошибки на строках Mas=(i*z*y+j*z+k); и cout &lt;&lt;Mas&lt;&lt;&quot;/t&quot;; в коде, я же вроде бы не...

Обращение к массиву структур - C++
Структура объявлена в отдельной трансляции, там же объявлена функция заполнения двумерного массива структур, а по возвращении в main не...

обращение к динамич массиву - C++
Задание:Дана целочисленная квадратная матрица. Определить сумму элементов в тех строках, которые не содержат отрицательных...

Обращение ко всему массиву в классах - C++
Всем привет. Есть класс: typedef unsigned int ui; class Location { private: std::string nameOfLocation; int...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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