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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.65
daslex
1271 / 516 / 106
Регистрация: 02.08.2011
Сообщений: 2,665
#1

Инициализация двумерного Динамического массива - C++

14.12.2012, 19:58. Просмотров 3612. Ответов 11
Метки нет (Все метки)

У меня вопрос. Могу ли я создать двумерный динамический массив и инициализировать его своими значениями в коде программы.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
using namespace std;
 
int main()
{
    int n=6;
 
    int **M=new int*[n];
      for (int i=0;i<n;i++) M[i]=new int [n];
 
    M[n][n]=     //Попытка инициализации как статического приводит к ошибке
     {   
         1,2,3,4,5,6,
         7,8,9,8,7,6,
         5,4,3,2,1,0,
         1,2,3,4,5,6,
         7,8,9,0,9,1,
         5,3,1,1,3,4
     };
     
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2012, 19:58     Инициализация двумерного Динамического массива
Посмотрите здесь:

Инициализация динамического массива - C++
Прога генерирует случайные числа(1-100) выводит их, пока не встретится 98, сохраняя все в массиве. Но мне нужно очень, чтобы программа сама...

Инициализация Динамического массива - C++
Друзья просмотрите пожалуйста мой динамический массив правильно ли я его длясебястолковал #include&lt;iostream&gt; using namespace std; ...

Инициализация динамического массива - C++
int main() { int a, i = 0; int *array = new int ; std::cout &lt;&lt; &quot;Enter numbers &quot; &lt;&lt; std::endl; while(std::cin &gt;&gt; a) { i &lt;...

Инициализация динамического массива - C++
Народ, подскажите как сделать так что бы, можно было задать размер массива через консоль, а не в коде через const (Если можете - объясните,...

Инициализация N-мерного динамического массива - C++
Добрый день. Возникла идея написать функцию, которая инициализировала n-мерный динамический массив, что бы не писать кучу вложенных...

Инициализация двумерного массива - C++
Учу С++ и переделываю шахматы в ооп. Не получается написать конструктор для двумерного массива. На С было: int position = { {...

Инициализация двумерного массива - C++
Подскажите пожалуйста как проинициализировать двумерный массив размером 10 на 10.(самый простой пример)

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yekka
385 / 149 / 8
Регистрация: 12.05.2011
Сообщений: 450
14.12.2012, 20:01     Инициализация двумерного Динамического массива #2
Как-то так должно быть:
C++
1
2
3
4
5
6
    M[6][3]= 
     {   
         { 1,2,3,4,5,6 }, 
         { 7,8,9,8,7,6 }, 
         { 5,4,3,2,1,0 }
     };
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
14.12.2012, 20:04     Инициализация двумерного Динамического массива #3
Цитата Сообщение от yekka Посмотреть сообщение
Как-то так должно быть:
Так у него массив динамический
yekka
385 / 149 / 8
Регистрация: 12.05.2011
Сообщений: 450
14.12.2012, 20:07     Инициализация двумерного Динамического массива #4
Цитата Сообщение от go Посмотреть сообщение
Так у него массив динамический
тогда в цикле только

Добавлено через 1 минуту
и вообще, что за бред? какой динамический массив с заранее известным инициализатором?
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
14.12.2012, 20:12     Инициализация двумерного Динамического массива #5
Цитата Сообщение от yekka Посмотреть сообщение
и вообще, что за бред? какой динамический массив с заранее известным инициализатором?
Вот тут и оно. Сразу напрашивается std::vector с инициализацией в стиле C++11.
daslex
1271 / 516 / 106
Регистрация: 02.08.2011
Сообщений: 2,665
14.12.2012, 20:18  [ТС]     Инициализация двумерного Динамического массива #6
Я понимаю, что вектор напрашивается.
Но меня больше массив интересует.

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

Не по теме:

А вообще люди бредили, бредили и полетели в космос

yekka
385 / 149 / 8
Регистрация: 12.05.2011
Сообщений: 450
14.12.2012, 20:23     Инициализация двумерного Динамического массива #7
Цитата Сообщение от daslex Посмотреть сообщение
двумерный динамический массив
в твоем коде, кстати, не двумерный массив, а вполне себе одномерный массив указателей.
daslex
1271 / 516 / 106
Регистрация: 02.08.2011
Сообщений: 2,665
14.12.2012, 20:27  [ТС]     Инициализация двумерного Динамического массива #8
Цитата Сообщение от yekka Посмотреть сообщение
одномерный массив указателей.
Не отводите тему. Двумерный динамический массив это одномерный массив указателей на одномерные массивы и есть.

Меня интересует только вопрос, который я спросил
yekka
385 / 149 / 8
Регистрация: 12.05.2011
Сообщений: 450
14.12.2012, 20:34     Инициализация двумерного Динамического массива #9
Цитата Сообщение от daslex Посмотреть сообщение
Двумерный динамический массив это одномерный массив указателей на одномерные массивы и есть.
это не так.


А по теме можно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstring>
#include <iostream>
 
using namespace std;
 
const int Etalon[6][6]=
{
    1,2,3,4,5,6,
    7,8,9,8,7,6,
    5,4,3,2,1,0,
    1,2,3,4,5,6,
    7,8,9,0,9,1,
    5,3,1,1,3,4
};
 
int main()
{
    int (*M)[6] = new int[6][6];
    memcpy(M, Etalon, sizeof(Etalon));
    std::cout << M[4][4] << std::endl;
    return 0;
}
Заметьте, с использованием настоящего двумерного массива
daslex
1271 / 516 / 106
Регистрация: 02.08.2011
Сообщений: 2,665
14.12.2012, 20:40  [ТС]     Инициализация двумерного Динамического массива #10
Ну и почему я не могу задать n?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main()
{
    int n=6;
 
    int (*M)[n] = new int[n][n];
    memcpy(M, Etalon, sizeof(Etalon));
    std::cout << M[4][4] << std::endl;
 
    for (int i=0;i<6;i++)
    {
        for (int j=0;j<N;j++)
        {
          cout<<M[i][j]<<"  ";
        }
        cout<<endl;
    }
    return 0;
}
Вы с динамическим программированием совсем не знакомы?
yekka
385 / 149 / 8
Регистрация: 12.05.2011
Сообщений: 450
14.12.2012, 20:43     Инициализация двумерного Динамического массива #11
Цитата Сообщение от daslex Посмотреть сообщение
Вы с динамическим программированием совсем не знакомы?
боюсь снова Вас разочаровать, но, строго говоря, Ваш вопрос никак не относится к динамическому программированию
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2012, 20:52     Инициализация двумерного Динамического массива
Еще ссылки по теме:

Инициализация двумерного массива - C++
Чет не понимаю на что возмущается компилятор... Заполняю как и заполнял раньше... char my_array; int x = 0; int t = 2; for(; x &lt; 2;...

Инициализация двумерного массива в классе - C++
Есть класс: class Test { int T; public: Test(); ~Test(); };

Использование двумерного динамического массива - C++
Здравствуйте, уважаемые форумчане. Такой вопрос: я объявил двумерный дин. массив, выделил, память, сделал с ним что-то int **arr =...

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

Создание динамического двумерного массива - C++
void CreateArray(double **DynamicArray, int n){ //??? double **DynamicArray = new double* ; for (int Count = 0; Count &lt; 2*n;...


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

Или воспользуйтесь поиском по форуму:
daslex
1271 / 516 / 106
Регистрация: 02.08.2011
Сообщений: 2,665
14.12.2012, 20:52  [ТС]     Инициализация двумерного Динамического массива #12

Не по теме:

Ваше не знание вас не красит. Я Вам вопрос по вашей программе. Но вы не можете ответить. Зато чего-то доказываете. Глупо.



Ответ на мой изначальный вопрос не получен.

Добавлено через 2 минуты
Показать фокус?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <cstring>
#include <iostream>
 
using namespace std;
 
 
int main()
{
    const int N=3;
    int M[3][3]=
    {
        0,1,2,
        3,4,5,
        6,7,8
    };
 
    for (int i=0;i<N*N;i++)cout<<M[0][i]<<"  ";
    return 0;
}
Чем ваш тип массивов отличается от одномерного?
Yandex
Объявления
14.12.2012, 20:52     Инициализация двумерного Динамического массива
Ответ Создать тему
Опции темы

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