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

Как объявить динамический массив, чтобы он был виден во всех процедурах программы?

02.09.2013, 01:34. Просмотров 862. Ответов 14
Метки нет (Все метки)

Доброго времени суток! Суть проблемы: в Visual Studio создана форма с кнопкой, при нажатии на которую, из файла считываются необходимые значения для построения графика. Данные из файла записываются в динамический массив из которого они потом должны будут браться для использования в функции отрисовки. Вот как раз с использованием массива в другой функции и возникли проблемы. Подскажите как реализовать. Заранее благодарен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.09.2013, 01:34
Ответы с готовыми решениями:

Что нужно изменить, чтобы был динамический массив?
Не нашел ничего дельного на эту тему. Как объявить переменную в данном случае,...

Как объявить двумерный динамический массив
int *matrix = new int ; че ругается ? а как сделать если без...

Как правильней объявить динамический двухмерный массив
Как правильней объявить динамический двухмерный массив и почему int (*p) = new...

Кто нибудь подскажет просто как объявить динамический массив M на M (с буквой M, я не ошибся)
:)

Как объявить динамический массив структур, и как выглядит обращение к полям структур по указателю?
Ребята подскажите как объявить динамический массив структур, и как выглядит...

14
Bend3r
149 / 136 / 35
Регистрация: 29.07.2012
Сообщений: 709
02.09.2013, 01:43 #2
У вас получаете 2 Unit ? Ну 2 .cpp (исходника).
Вам просто необходимо подключить название второго .cpp файла, где хотите использовать ваш массив.
Допустим: File1.cpp (в нем массив, int massiv[10]);
А программу вы пишите в File2.cpp, в хедер пишите #include "File1.cpp"
Так-же не забывайте про static и extern.
0
Pigmalion
23 / 20 / 0
Регистрация: 18.06.2013
Сообщений: 83
02.09.2013, 01:50  [ТС] #3
Похоже я что-то совсем не так сделал, ибо код написан в заголовочном файле Form1.h
Получается надо весь код перенести в .cpp файлы? Но он же привязан к графическому интерфейсу.
0
Toshkarik
1149 / 866 / 90
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
02.09.2013, 03:03 #4
Цитата Сообщение от Bend3r Посмотреть сообщение
А программу вы пишите в File2.cpp, в хедер пишите #include "File1.cpp"
Вы хоть сами понимаете, что советуете? Никогда так не делайте.

Pigmalion, покажите, что у Вас уже есть.
1
Pigmalion
23 / 20 / 0
Регистрация: 18.06.2013
Сообщений: 83
02.09.2013, 10:58  [ТС] #5
Вот. Массивы которые нужно использовать в другой процедуре на 387 строке
C++
1
2
double *MoveFl = new double[kol]; //динамические массивы
int *LoadInt = new int[kol];
и их надо добавить в процедуру отрисовки
C++
1
2
3
4
5
private: void Drawing()
 { 
  for (int i=0; i<kol; i++)
    this->chart1->Series["Surface"]->Points->AddXY(MoveFl [i],LoadInt[i]);
 }
0
Вложения
Тип файла: rar Dyno2.rar (740.4 Кб, 5 просмотров)
Тип файла: txt данные.txt (2.4 Кб, 2 просмотров)
censor
8 / 8 / 1
Регистрация: 05.06.2013
Сообщений: 60
02.09.2013, 11:08 #6
используй груб
0
Raali
639 / 343 / 74
Регистрация: 06.07.2013
Сообщений: 1,107
Завершенные тесты: 1
02.09.2013, 11:30 #7
в каком файле находится функция Drawing и в каком два массива?
0
Pigmalion
23 / 20 / 0
Регистрация: 18.06.2013
Сообщений: 83
02.09.2013, 11:42  [ТС] #8
В Form1.h и функция и массивы.
0
Raali
639 / 343 / 74
Регистрация: 06.07.2013
Сообщений: 1,107
Завершенные тесты: 1
02.09.2013, 11:44 #9
а сами массивы создаются не в Drawing а в другой функции?
0
Pigmalion
23 / 20 / 0
Регистрация: 18.06.2013
Сообщений: 83
02.09.2013, 11:47  [ТС] #10
Ага
0
Raali
639 / 343 / 74
Регистрация: 06.07.2013
Сообщений: 1,107
Завершенные тесты: 1
02.09.2013, 11:50 #11
тогда можно объявить в глобальной области (в самом верху файла, вне какой либо функции)
C++
1
2
double *MoveFl=0;
int *LoadInt = 0;
в функции, где выделяется память
C++
1
2
MoveFl = new double[kol]; 
LoadInt = new int[kol];
ну и в Drawinge будут видны они
1
Pigmalion
23 / 20 / 0
Регистрация: 18.06.2013
Сообщений: 83
02.09.2013, 11:55  [ТС] #12
Спасибо. Я правильно понял? Вот так сделать?
0
Миниатюры
Как объявить динамический массив, чтобы он был виден во всех процедурах программы?  
Raali
639 / 343 / 74
Регистрация: 06.07.2013
Сообщений: 1,107
Завершенные тесты: 1
02.09.2013, 11:58 #13
ага, ну либо в namespace Dyno2 запихать, если все функции находятся в той области
0
Bend3r
149 / 136 / 35
Регистрация: 29.07.2012
Сообщений: 709
02.09.2013, 12:18 #14
Цитата Сообщение от Toshkarik Посмотреть сообщение
Вы хоть сами понимаете, что советуете? Никогда так не делайте.
Ну то что в хедер подключать надо только прототипы - то я это знаю.
0
censor
8 / 8 / 1
Регистрация: 05.06.2013
Сообщений: 60
03.09.2013, 01:17 #15

Не по теме:

Цитата Сообщение от Raali Посмотреть сообщение
в каком файле находится функция Drawing и в каком два массива?

Не по теме:

а бурумбум не ахти?

Почему я должен вас предсказывать?
0
03.09.2013, 01:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.09.2013, 01:17

Где в модуле объявить динамический массив?
Здравствуйте. Объясните пожалуйста, как объявляется массив в классе. Допустим...

Почему нельзя объявить динамический массив глобально
вот код #include &lt;iostream&gt; #include &lt;string&gt; int w = 0; string *s = new...

Объявить массив? Запросто! Объявить массив массивов? А как это?
Доброго времени суток! Конечно, все знают, как объявить массив! int main...


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

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

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