Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 13.11.2019
Сообщений: 1
1

Ошибка при инициализации двумерного массива

13.11.2019, 22:50. Просмотров 262. Ответов 1

Доброго времени суток.
В процессе создания программы для перевода числа из С/С = [2;36] в 10чную, но столкнулся с проблемой объявления двумерного массива Dmass по вполне непонятным мне причинам.
С С++ я работаю не так давно, а сраки по сдаче индивидуалки горят праведным пламенем получения знаний (иначе программу заканчивать буду уже после армии), и я буду очень признателен, если вы поможете мне понять мою ошибку.


Строка здесь служит для ввода числа, которое передается в функцию и в виде массива s[i] сравнивается с const char arr_Sym.
Идея работала для одного числа, но когда я решил добавить двумерный массив для дальнейших преобразований обоих чисел далее по задаче, все пошло не по плану.
Ошибка выдаваемая компилятором в данной строке:
C++ (Qt)
1
int Dmass[i] = new int[j];
Ошибка при инициализации двумерного массива


C++ (Qt)
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
#include <iostream>
#include <string>
using namespace std;
 
const char arr_Sym[36]{ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A','B','C','D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
 
void ObrDan(string s, int* Num, int* pk)
//Обработка вводимых данных s - получаемая строка, не изменяется
{
 
    for (int i = 0; i < s.length(); i++)
    {
 
        for (int j = 0; j < 36; j++)
        {
            if (s[i] == arr_Sym[j])
            {
                Num[*pk] = j;
                (*pk)++;
                j = 35;
            }
 
        }
    }
 
}
 
 
 
 
 
int main()
{
    setlocale(LC_ALL, "ru");//русский язык
 
    string s; //Строка для ввода числа 
 
    int* Num = new int[s.length()]; //Инициализация массива для введенного числа
    //Num[] - новый массив состоящий из чисел, которые содержит строка
 
    int k = 0; //Количество символов в массиве 1го числа
    int kk = 2; // Количество строк в двумерн массиве
    int** Dmass = new int* [kk];
 
 
 
    for (int i = 0; i < kk; i++)
    {
        cout << "Введите число " << i + 1 << ": ";
        cin >> s;
        ObrDan(s, Num, &k);
        for (int j = 0; j < k; j++)
        {
            int Dmass[i] = new int[j];
 
        }
    }
 
 
    delete[] Num;
    for (int i = 0; i < kk; i++)
        delete[] Dmass[i];
    delete[] Dmass;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2019, 22:50
Ответы с готовыми решениями:

Ошибка инициализации двумерного массива
//Нужен массив 3х3; enum colorMap {null = 0, yellow, green, blue, violet, red }; class Foo {...

Логическая ошибка инициализации двумерного массива
Если массив statistics инициализировать statistics = {0}; , то столбцы массива statistics (те,...

Ошибка инициализации двумерного массива в классе
Ошибка инициализации двумерного массива в классе Текст ошибки: Error 13 error C2536:...

Вылет консоли при инициализации двумерного массива
В программе потребовался двумерный массив с размерами, задаваемыми пользователем. На этом же форуме...

1
3872 / 2656 / 1118
Регистрация: 07.05.2019
Сообщений: 8,086
Записей в блоге: 1
13.11.2019, 23:16 2
Цитата Сообщение от CupoFcaT Посмотреть сообщение
int Dmass[i] = new int[j];
Убери int, оставь Dmass[i] = new int[j];
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2019, 23:16

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Ошибка при инициализации массива
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;fstream&gt; #include &lt;string&gt; using namespace...

Ошибка при инициализации массива
В примере есть массив: sf::String TileMap = { &quot; &quot;, &quot; ...

Ошибка при инициализации массива
Что делать? Так как я понимаю, точку с запятой вообще в помине не должно здесь быть!о_О

Ошибка при инициализации массива
Не понимаю, почему не работает. Массив создается после введения количества его элементов, но все...


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

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

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