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

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

Войти
Регистрация
Восстановить пароль
 
kn0w
3 / 3 / 0
Регистрация: 09.10.2012
Сообщений: 88
#1

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

19.11.2012, 10:53. Просмотров 291. Ответов 6
Метки нет (Все метки)

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

Можно ли в классе создавать массив переменной длинны. Например динамический массив? - C++
Динамические массивы привлекают больше. :)

Заполнить динамический массив из файла и записать массив обратно в файл - C++
Подскажите пожалуйста функцию которая будет заполнять Динамический массив из файла и обратную которая этот массив запишет в файл=)

Написать функцию принимающую массив и возвращающую указатель на динамический массив - C++
Написать функцию принимающую массив и возвращающую указатель на динамический массив содержащий первые n нaибольших чисел. Как сделать...

динамический массив (Целое число разложить на массив простых множителей) - C++
Доброго времени суток всем. Целое число необходимо разложить на массив простых множителей. Столкнулся с проблемой, мне нужно, чтобы...

Массив: передать динамический массив в функцию и записать в каждый элемент строку из файла - C++
задача: передать динамический массив в функцию, и записать в каждый элемент строку из файла. количество строк известно вот что у меня...

Как преобразовать массив в динамический? Массив вычисляет сумму элементов каждой диагонали матрицы - C++
Ошибка : Вызвано исключение по адресу 0x00BB2F4F в Проект6.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xFDFDFE05. #...

6
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 элемента, и тд?
1
kn0w
3 / 3 / 0
Регистрация: 09.10.2012
Сообщений: 88
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];
И еще как его вывести на экран?)))
0
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
19.11.2012, 13:54 #4
примерно так же
a[i][9-i]
0
ValeryS
Модератор
6709 / 5118 / 482
Регистрация: 14.02.2011
Сообщений: 17,213
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];
0
kn0w
3 / 3 / 0
Регистрация: 09.10.2012
Сообщений: 88
19.11.2012, 17:23  [ТС] #6
Цитата Сообщение от ValeryS Посмотреть сообщение
и как ты туда 10 элементов запихаешь?
a[i]=new int[10-i]

Добавлено через 3 минуты
Ну в массиве номер первого элемента равен 0, а последнего n-1, поэтому 9 я думаю.
0
ValeryS
Модератор
6709 / 5118 / 482
Регистрация: 14.02.2011
Сообщений: 17,213
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] что вообще выделится?(выделится то выделится но работать не будет)
1
19.11.2012, 17:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2012, 17:41
Привет! Вот еще темы с ответами:

Создать динамический массив (Если чётных чисел больше, то массив должен быть укорочен на 2 элемента) - C++
Создать динамический массив из 8 случайных целых чисел из отрезка и вывести его на экран . Если в массиве чётных чисел оказалось...

Двумерный массив (поменять статический массив на динамический) - C++
Нужно поменять статический массив на динамический с выделением памяти #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cstdlib&gt; ...

Массив и память. Как создать динамический массив? - C++
не могу исправить ошибки. И нужен динамический массив я что-то попробовала для его создания но ничего не вышло #include &quot;stdafx.h&quot; ...

Переделать динамический массив на статический массив - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; int main() { int dim, counter_1 = 1, counter_2 =...


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

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

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