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

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

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

класс матрица - C++

26.10.2013, 00:09. Просмотров 470. Ответов 3
Метки нет (Все метки)

Пытаюсь сделать класс матрица. Т.к. для определения массива в с++ нужны static const, а матрица может быть произвольной, было принято решение использовать vector. Такая штука
Кликните здесь для просмотра всего текста

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
#include <vector>
#include <iostream>
 
using namespace std;
 
int main()
{
    int n,m;
    cin >> n >> m;
    vector< vector<int> > matrix(n, vector<int> (m,0));
    for(int i=0; i<n; i++)
        for (int j=0; j<m; j++)
        {
            cout << "a[" << i << "][" << j << "]\n";
            cin >> matrix[i][j];
        }
    for(int i=0; i<n; i++)
        for (int j=0; j<m; j++)
        {
            if ((j + 1) == m) 
                cout << matrix[i][j] << endl;
            else
                cout << matrix[i][j] << " ";
        }
}

спокойно компилируется и работает. Но на это
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifndef MATRIX_H_
#define MATRIX_H_
 
#include <vector>
 
class Matrix {
  private:
    int n,m;
    std::vector< std::vector<int> > matrix(n, vector<int> (m, 0));
  public:
    Matrix();
    void show();
};
 
#endif

g++ ругается:
matrix.h:9:44: error: ‘n’ is not a type
std::vector< std::vector<int> > matrix(n, vector<int> (m, 0));
^
Объясните, пожалуйста, почему так нельзя.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2013, 00:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос класс матрица (C++):

Определить базовый класс "Матрица" и класс-потомок "Треугольная матрица" - C++
Нужно определить класс &quot;матрица&quot; с возможностью динамического выделения и освобождения памяти, наполнения матрицы, сохранения и чтения из...

Класс матрица - C++
Прошу помочь с практическим заданием. Нужно создать класс матрица Данный класс содержит указатель на long, размер строк и столбцов и...

Класс Матрица - C++
Помогите пожалуйста, новичок в c++. Задание следующее: 3. Описать тип-объект MATRIX (матрица произвольной размерности M*N) и его методы:...

Класс матрица - C++
Помогите пожалуйста, не могу понять, почему не работает оператор умножения, выводит одни нули в Dev c++,в Visual выдаёт ошибку #include...

Класс матрица - C++
Здравствуйте. У меня есть класс матрицы: #pragma once #ifndef classMatrix_h #define classMatrix_h #include &lt;iostream&gt; ...

Класс матрица - C++
Доброго времени суток. Есть класс матрица с указателем и размерностями строк и столбцов. Проблема в том что не работает функция...

3
__Александр__
7 / 10 / 0
Регистрация: 17.09.2012
Сообщений: 188
Записей в блоге: 2
26.10.2013, 10:19 #2
http://cppstudio.com/praktikum/sborn...lassa-matrica/
0
c__
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 8
28.10.2013, 15:31  [ТС] #3
Цитата Сообщение от __Александр__ Посмотреть сообщение
Хотелось с вектором сделать. Видимо придется так. Спасибо!
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
28.10.2013, 16:03 #4
Цитата Сообщение от c__ Посмотреть сообщение
Объясните, пожалуйста, почему так нельзя.
Потому что компилятор думает, что matrix это функция.
Сделайте так:
C++
1
std::vector< std::vector<int> > matrix;
а заполнение нулями - в конструкторе.
0
28.10.2013, 16:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2013, 16:03
Привет! Вот еще темы с ответами:

класс матрица - C++
Объявите класс TMatric, создающий тип – матрицу. Элементы – данные класса: - указатель на область памяти, в которой расположена...

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

с++ класс матрица - C++
Вот из этого как то надо сделать наследование и полиморфизм, питался делать наследование не выходило по тому что писало что &quot;:&quot; не...

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


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

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

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