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

Динамический массив - C++

Восстановить пароль Регистрация
 
kn0w
3 / 3 / 0
Регистрация: 09.10.2012
Сообщений: 72
19.11.2012, 10:53     Динамический массив #1
Здравствуйте, помогите пожалуйста сделать динамическую треугольную матрицу размером 10X10.
Вот мой код, проблема в том, что он ее просто преобразует, так что то что написано после присвоения массива [m] не правильно... ну и еще я тут не добавил очистку дин.памяти.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void main ()
{
const int n=10,m=10;
int**a;
a=new int* [n];
for (int i=0; i<n; i++)
{
a[]=new int [m];
for(int j=0; j<m-i; j++)
a[i][j]=n;
}
for (int i=0; i<n; i++){
for(int j=0; j<m-i; j++){
cout<<a[i][j];
cout<<endl;
}
}
 
cin.get();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2012, 10:53     Динамический массив
Посмотрите здесь:

C++ Динамический массив
C++ Динамический массив
динамический массив C++
C++ Динамический массив
C++ Динамический массив
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
19.11.2012, 11:10     Динамический массив #2
C++
1
2
3
4
int **a;
    a=new int*[10];
    for(int i=0; i<10; i++)
        a[i]=new int[i+1];
выделять вот так
треугольная, это типо в 1-ом столбце 1 элемент, во 2-ом 2 элемента, и тд?
kn0w
3 / 3 / 0
Регистрация: 09.10.2012
Сообщений: 72
19.11.2012, 11:59  [ТС]     Динамический массив #3
Да только мне наоборот в 1-ом 10, во втором 9 и по убыванию пока до 1 элемента не дойдет )

Добавлено через 24 минуты
ну мне тогда надо я так понимаю
C++
1
2
3
4
int **a;
    a=new int*[10];
    for(int i=0; i<10; i++)
        a[i]=new int[9-i];
И еще как его вывести на экран?)))
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
19.11.2012, 13:54     Динамический массив #4
примерно так же
a[i][9-i]
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
19.11.2012, 14:01     Динамический массив #5
Цитата Сообщение от kn0w Посмотреть сообщение
1-ом 10
Цитата Сообщение от kn0w Посмотреть сообщение
a[i]=new int[9-i]
и как ты туда 10 элементов запихаешь?
a[i]=new int[10-i]

Добавлено через 3 минуты
Цитата Сообщение от kn0w Посмотреть сообщение
И еще как его вывести на экран?)))
C++
1
2
3
for(int i=0;i<10;i++)
   for(int j=0;j<10-i;j++)
          cout<<a[i][j];
kn0w
3 / 3 / 0
Регистрация: 09.10.2012
Сообщений: 72
19.11.2012, 17:23  [ТС]     Динамический массив #6
Цитата Сообщение от ValeryS Посмотреть сообщение
и как ты туда 10 элементов запихаешь?
a[i]=new int[10-i]

Добавлено через 3 минуты
Ну в массиве номер первого элемента равен 0, а последнего n-1, поэтому 9 я думаю.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2012, 17:41     Динамический массив
Еще ссылки по теме:

C++ Динамический массив
C++ Динамический массив
Динамический массив c++ C++

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

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
19.11.2012, 17:41     Динамический массив #7
Цитата Сообщение от kn0w Посмотреть сообщение
Ну в массиве номер первого элемента равен 0, а последнего n-1, поэтому 9 я думаю.
А причем здесь номер элемента
Тебе нужен размер
смотри при i=0
по твоему
a[i]=new int[9];
0 1 2 3 4 5 6 7 8 посчитай количество элементов
по моему a[i]=new int[10];
0 1 2 3 4 5 6 7 8 9
при i=9 последняя итерация
a[i]=new int[9-i];== a[i]=new int[0] что вообще выделится?(выделится то выделится но работать не будет)
Yandex
Объявления
19.11.2012, 17:41     Динамический массив
Ответ Создать тему
Опции темы

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