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

Как создать, вывести и удалить двумерный массив в классе - C++

Восстановить пароль Регистрация
 
rura
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 152
17.06.2014, 23:05     Как создать, вывести и удалить двумерный массив в классе #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
57
58
59
60
61
62
63
64
65
66
67
68
69
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
class Matrix
{
    int n=0, m=0;
    int** a = new int*[n];
 
public:
    void Iniz();
    void Print();
 
    Matrix(){};
 
    ~Matrix()
    {
        for (int i = 0; i < n; ++i){
            delete[] a[i];
        }
        delete[] a;
 
    }
};
void Iniz()
{
    int n=0, m=0;
    cout << "Введите количество строк: ";
    cin >> n;
    cout << "Введите количество столбцов: ";
    cin >> m;
 
    int** a = new int*[n];
    for (int i = 0; i < n; ++i) {
        a[i] = new int[m];
    }
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < m; ++j) {
            a[i][j] = rand() % 10;
        }
    }
}
 
void Print()
{
    int m=0, n=0;
    int** a = new int*[n];
 
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            cout << a[i][j] << ' ';
        }
        cout << endl;
    }
 
}
 
int main(){
 
    setlocale(LC_ALL, "Russian");
    Matrix ob;
 
    ob.Iniz();
    ob.Print();
 
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2014, 23:05     Как создать, вывести и удалить двумерный массив в классе
Посмотрите здесь:

Как создать двумерный динамический массив C++
Создать двумерный массив чисел с плавающей точкой и вывести на экран все числа по диагонали с лева на право C++
Создать двумерный массив. Удалить из него строку и столбец с заданным номером C++
C++ Создать и вывести двумерный массив
C++ Как создать двумерный динамический массив (принцип лото)?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4270 / 3701 / 1246
Регистрация: 14.04.2014
Сообщений: 14,495
17.06.2014, 23:14     Как создать, вывести и удалить двумерный массив в классе #2
Инициализация - в конструктор, а не так как в строках 8 и 9.
Строки 47 и 48 вообще не понятно зачем.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
17.06.2014, 23:26     Как создать, вывести и удалить двумерный массив в классе #3
C++
1
2
    int n=0, m=0;
    int** a = new int*[n];
убрать нафиг инициализацию
rura
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 152
18.06.2014, 00:01  [ТС]     Как создать, вывести и удалить двумерный массив в классе #4
А что тогда оставить? Мне выдает ошибку. (а,м,н, - необъявленный идентификаторы)
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
18.06.2014, 00:04     Как создать, вывести и удалить двумерный массив в классе #5
rura, ты хотя бы понимаешь, что m, n и a это не переменные, а поля класса?
rura
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 152
18.06.2014, 00:06  [ТС]     Как создать, вывести и удалить двумерный массив в классе #6
Теперь понимаю вроде. Вы меня извините, но плохо. Я только учусь создавать программы на С++.
А что есть поля класса?
Hrapvlesu
11 / 11 / 2
Регистрация: 08.06.2012
Сообщений: 28
18.06.2014, 00:29     Как создать, вывести и удалить двумерный массив в классе #7
Вот, переписал вам немного.
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
class Matrix
{
    int** inner_array;
    int size_x;
    int size_y;
 
    void init()
    {
        inner_array = new int*[size_y];
        for (int i = 0; i < size_y; i++)
        {
            inner_array[i] = new int[size_x];
        }
    }
 
    void fill()
    {
        for (int i = 0; i < size_y; i++)
        {
            for (int j = 0; j < size_x; j++)
            {
                inner_array[i][j] = rand() % 10;
            }
        }
    }
 
public:
 
    Matrix(int x, int y)
    {
        size_x = x;
        size_y = y;
        init();
        fill();
    };
 
    ~Matrix()
    {
        for (int i = 0; i < size_y; i++)
        {
            delete[] inner_array[i];
        }
        delete[] inner_array;
 
    }
 
    void print()
    {
        for (int i = 0; i < size_y; i++)
        {
            for (int j = 0; j < size_x; j++) {
                cout << inner_array[i][j] << ' ';
            }
            cout << endl;
        }
    }
};
 
int main(){
 
    setlocale(LC_ALL, "Russian");
    int x, y;
    cout << "Введите количество строк: ";
    cin >> y;
    cout << "Введите количество столбцов: ";
    cin >> x;
    Matrix ob(x,y);
    ob.print();
    system("pause");
    return 0;
}
Hsac
13 / 13 / 1
Регистрация: 30.06.2013
Сообщений: 146
18.06.2014, 03:20     Как создать, вывести и удалить двумерный массив в классе #8
раньше на дельфи писал?
у класса есть поля метода конструктор и деструктор все больше ничего нет
поля это переменные которые описываются внутри класса не в функции int a, double b итд
методы это функции
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
18.06.2014, 10:30     Как создать, вывести и удалить двумерный массив в классе #9
Hsac, поля это не переменные
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2014, 17:58     Как создать, вывести и удалить двумерный массив в классе
Еще ссылки по теме:

Двумерный динамический массив в классе. Зависание при вводе и вызове деструктора C++
В классе инициализировать массив, в классе создать функцию вывода массива на экран C++
C++ Как можно создать зубчатый двумерный массив?

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

Или воспользуйтесь поиском по форуму:
Hrapvlesu
11 / 11 / 2
Регистрация: 08.06.2012
Сообщений: 28
18.06.2014, 17:58     Как создать, вывести и удалить двумерный массив в классе #10
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Hsac, поля это не переменные
Да ну? А что же это тогда?

https://ru.wikipedia.org/wiki/Поле_класса
Yandex
Объявления
18.06.2014, 17:58     Как создать, вывести и удалить двумерный массив в классе
Ответ Создать тему
Опции темы

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