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

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

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

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

17.06.2014, 23:05. Просмотров 1058. Ответов 9
Метки нет (Все метки)

Ребят, подскажите пожалуйста, что не так с моим классом. Я пыталась разобраться, как создать, вывести и удалить этот массив в классе.
Буду очень благодарна за помощь.

Вот моя программа:
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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2014, 23:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как создать, вывести и удалить двумерный массив в классе (C++):

Создать и вывести двумерный массив - C++
Формат входных данных Программа получает на вход два числа n и m – количество строк и столбцов, соответственно. Формат выходных данных ...

Создать двумерный массив. Удалить из него строку и столбец с заданным номером - C++
Создать двумерный массив. Удалить из него строку и столбец с заданным номером. Помогите сделать удаление: ...

Создать двумерный динамический массив и удалить все столбцы в которых присутствует элемент - C++
#include &lt;cstdlib&gt; #include &quot;stdlib.h&quot; #include &lt;iostream&gt; using namespace std; int n=5; int c=0; int main() { ...

Создать двумерный динамический массив и удалить все столбцы в которых присутствует элемент C - C++
#include &lt;cstdlib&gt; #include &quot;stdlib.h&quot; #include &lt;iostream&gt; using namespace std; int n=5; int c=0; int main() { ...

В классе инициализировать массив, в классе создать функцию вывода массива на экран - C++
Прошу помоши с выводом данных, которые содержаться в массиве, на экраy: Задача: В классе инициализировать массив, в классе создать...

Создать и вывести на экран двумерный массив целых чисел размерностью 3х3 - C++
1. создать и вывести на экран двумерный массив целых чисел размерностью 3х3 2. создать и вывести на экран двумерный массив вещественных...

9
nmcf
5324 / 4644 / 1553
Регистрация: 14.04.2014
Сообщений: 18,479
17.06.2014, 23:14 #2
Инициализация - в конструктор, а не так как в строках 8 и 9.
Строки 47 и 48 вообще не понятно зачем.
0
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,926
Записей в блоге: 1
17.06.2014, 23:26 #3
C++
1
2
    int n=0, m=0;
    int** a = new int*[n];
убрать нафиг инициализацию
0
rura
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 153
18.06.2014, 00:01  [ТС] #4
А что тогда оставить? Мне выдает ошибку. (а,м,н, - необъявленный идентификаторы)
0
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,926
Записей в блоге: 1
18.06.2014, 00:04 #5
rura, ты хотя бы понимаешь, что m, n и a это не переменные, а поля класса?
0
rura
0 / 0 / 0
Регистрация: 08.01.2014
Сообщений: 153
18.06.2014, 00:06  [ТС] #6
Теперь понимаю вроде. Вы меня извините, но плохо. Я только учусь создавать программы на С++.
А что есть поля класса?
0
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;
}
1
Hsac
13 / 13 / 1
Регистрация: 30.06.2013
Сообщений: 160
18.06.2014, 03:20 #8
раньше на дельфи писал?
у класса есть поля метода конструктор и деструктор все больше ничего нет
поля это переменные которые описываются внутри класса не в функции int a, double b итд
методы это функции
1
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,926
Записей в блоге: 1
18.06.2014, 10:30 #9
Hsac, поля это не переменные
0
Hrapvlesu
11 / 11 / 2
Регистрация: 08.06.2012
Сообщений: 28
18.06.2014, 17:58 #10
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Hsac, поля это не переменные
Да ну? А что же это тогда?

https://ru.wikipedia.org/wiki/Поле_класса
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2014, 17:58
Привет! Вот еще темы с ответами:

Массив: Как можно задать и вывести симметричный двумерный массив? - C++
как можно задать и вывести симметричный массив

Создать двумерный массив чисел с плавающей точкой и вывести на экран все числа по диагонали с лева на право - C++
Создать двумерный массив чисел с плавающей точкой и вывести на экран все числа по диагонали с лева на право. Друзья-программисты...

Как создать динамический двумерный массив - C++
Можно ли создать на С++ динамический двухмерный масив? Как? int z , x ; cin &gt;&gt; z ; cin &gt;&gt; x ; int *arr = new int(z); int *arr1...

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


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

Или воспользуйтесь поиском по форуму:
10
Yandex
Объявления
18.06.2014, 17:58
Ответ Создать тему
Опции темы

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