С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Punda
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 5
1

Выделение динамической памяти

18.03.2013, 13:51. Просмотров 562. Ответов 9
Метки нет (Все метки)

Доброго времени суток!
я начинающий программист, столкнулась с такой проблемой:
выделяю память под динамический массив, например

C++
1
2
3
double **TrainingData;
TrainingData=new double*[num_ins+num_outs];
и в цикле TrainingData[i] = new double[rows];
во-первых часть
TrainingData=new double*[num_ins+num_outs];
и в цикле TrainingData[i] = new double[rows];
мне среда позволяет написать только например на действие кнопки, если сразу после строки double **TrainingData; он ругается. во-вторых когда на отладке пытаюсь посмотреть размер массива получившегося, пишет какую-то ерунду. на одной форме у меня все нормально работает, а вот на второй форме он не присваивает значения в массив, он воспринимает в принципе только первый элемент и то его обнуляет.
вопрос такой: должен ли он показывать сколько выделяется памяти при таком выделении и относительно обнуления и игнорирования размера на второй форме-в чем может быть причина?

пишу в embarcodero 2013

очень надеюсь на вашу помощь, проект должна была сдать давно.
заранее спасибо
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2013, 13:51
Ответы с готовыми решениями:

Выделение динамической памяти
Чем int *List = new int; delete List; отличается от обычного массива...

Выделение динамической памяти
Всем доброго времени суток. Прошу помочь с задачей. Задача решена, просто нужно...

выделение динамической памяти
помогите пожалуйста , нужно написать функцию для ввода новой матрицы, не...

Выделение динамической памяти
Всем привет. Возникла задача, в которой мне необходимо знать как выделяется...

Выделение динамической памяти
Добрый вечер. Помогите разобраться пожалуйста! Суть такова: есть файл, в нем...

9
Vourhey
Почетный модератор
6493 / 2268 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
18.03.2013, 13:55 2
Цитата Сообщение от Punda Посмотреть сообщение
мне среда позволяет написать только например на действие кнопки
Потому что код должен быть хотя бы в функции, а не абы как и где в файле валяться. Кто его на исполнение-то тогда запустит? И когда...
Цитата Сообщение от Punda Посмотреть сообщение
во-вторых когда на отладке пытаюсь посмотреть размер массива получившегося, пишет какую-то ерунду.
Это нормально. Массив-то не статический.
1
Punda
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 5
18.03.2013, 14:04  [ТС] 3
как тогда можно просмотреть какие значения принимает массив?
просто на второй форме во всяком случае на отладке он не заполняется, кроме как первый нулевой элемент.
0
Vourhey
Почетный модератор
6493 / 2268 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
18.03.2013, 14:07 4
Цитата Сообщение от Punda Посмотреть сообщение
как тогда можно просмотреть какие значения принимает массив?
Я не знаю, как в билдере это сделано и что он умеет. А так, просто заглянуть в память по указателю и все. Самое простое и работаеющее везде на 100%.

Добавлено через 1 минуту
Ну и такие мощные среды, как билдер должны уметь память показывать, как числа. То есть, где-нибудь можно указать, что показывать не просто байты в шестнадцатеричном виде, а рассматривать, их, как int, double и так далее.
0
Punda
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 5
18.03.2013, 14:07  [ТС] 5
а как это сделать?
0
Vourhey
Почетный модератор
6493 / 2268 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
18.03.2013, 14:08 6
Цитата Сообщение от Punda Посмотреть сообщение
а как это сделать?
Почитай документацию, как это делается в билдере. Я им не пользуюсь.
0
Punda
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 5
18.03.2013, 14:10  [ТС] 7
Цитата Сообщение от Vourhey Посмотреть сообщение
А так, просто заглянуть в память по указателю и все. Самое простое и работаеющее везде на 100%.
я про вот этот способ
0
Vourhey
Почетный модератор
6493 / 2268 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
18.03.2013, 14:14 8
Цитата Сообщение от Punda Посмотреть сообщение
я про вот этот способ
Так я и говорю. Не юзаю я билдер, откуда мне знать, какой там пункт меню. Но любой дебаггер умеет просматривать память. Поэтому просто почитай и все, как это в билдере.
0
Punda
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 5
18.03.2013, 14:21  [ТС] 9
спасибо, буду пробовать

Добавлено через 1 минуту
а еще тогда вопрос, если сразу весь массив объявлять на кнопке, то как его сделать доступным другим кнопкам и функциям?
0
Vourhey
Почетный модератор
6493 / 2268 / 185
Регистрация: 29.07.2006
Сообщений: 12,534
18.03.2013, 14:33 10
Цитата Сообщение от Punda Посмотреть сообщение
если сразу весь массив объявлять на кнопке, то как его сделать доступным другим кнопкам и функциям?
Если у тебя будет локальный указатель, то передачей указателя. Все исключительно от приложения зависит.
0
18.03.2013, 14:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2013, 14:33

Выделение динамической памяти
Доброго времени суток! Возник такой вопрос, переделываю программу, где...

Выделение динамической памяти C++
Всем доброго времени суток. Вот столкнулся с проблемой и пока что не приходит...

Матрица, выделение динамической памяти
В общем у меня такая проблема: нужно решить задачу двумя способами, сначала без...


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

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

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