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

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

Войти
Регистрация
Восстановить пароль
 
Pigmalion
23 / 20 / 3
Регистрация: 18.06.2013
Сообщений: 83
#1

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

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

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

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

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

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

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

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

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

14
Bend3r
149 / 136 / 18
Регистрация: 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 / 3
Регистрация: 18.06.2013
Сообщений: 83
02.09.2013, 01:50  [ТС] #3
Похоже я что-то совсем не так сделал, ибо код написан в заголовочном файле Form1.h
Получается надо весь код перенести в .cpp файлы? Но он же привязан к графическому интерфейсу.
0
Toshkarik
1147 / 864 / 51
Регистрация: 03.08.2011
Сообщений: 2,404
Завершенные тесты: 1
02.09.2013, 03:03 #4
Цитата Сообщение от Bend3r Посмотреть сообщение
А программу вы пишите в File2.cpp, в хедер пишите #include "File1.cpp"
Вы хоть сами понимаете, что советуете? Никогда так не делайте.

Pigmalion, покажите, что у Вас уже есть.
1
Pigmalion
23 / 20 / 3
Регистрация: 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 / 0
Регистрация: 05.06.2013
Сообщений: 60
02.09.2013, 11:08 #6
используй груб
0
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,070
Завершенные тесты: 1
02.09.2013, 11:30 #7
в каком файле находится функция Drawing и в каком два массива?
0
Pigmalion
23 / 20 / 3
Регистрация: 18.06.2013
Сообщений: 83
02.09.2013, 11:42  [ТС] #8
В Form1.h и функция и массивы.
0
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,070
Завершенные тесты: 1
02.09.2013, 11:44 #9
а сами массивы создаются не в Drawing а в другой функции?
0
Pigmalion
23 / 20 / 3
Регистрация: 18.06.2013
Сообщений: 83
02.09.2013, 11:47  [ТС] #10
Ага
0
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,070
Завершенные тесты: 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 / 3
Регистрация: 18.06.2013
Сообщений: 83
02.09.2013, 11:55  [ТС] #12
Спасибо. Я правильно понял? Вот так сделать?
0
Миниатюры
Как объявить динамический массив, чтобы он был виден во всех процедурах программы?  
Raali
623 / 327 / 34
Регистрация: 06.07.2013
Сообщений: 1,070
Завершенные тесты: 1
02.09.2013, 11:58 #13
ага, ну либо в namespace Dyno2 запихать, если все функции находятся в той области
0
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
02.09.2013, 12:18 #14
Цитата Сообщение от Toshkarik Посмотреть сообщение
Вы хоть сами понимаете, что советуете? Никогда так не делайте.
Ну то что в хедер подключать надо только прототипы - то я это знаю.
0
censor
8 / 8 / 0
Регистрация: 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
Привет! Вот еще темы с ответами:

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

Объявить массив? Запросто! Объявить массив массивов? А как это? - C++
Доброго времени суток! Конечно, все знают, как объявить массив! int main () { int array; }

Как передать динамический массив в функцию, чтобы он изменился? - C++
Через указатель не изменяется:(

Объявить и заполнить двумерный динамический массив случайными числами от 10 до 50 - исправить ошибки в коде - C++
Здравствуйте есть задача 3:http://http://purecodecpp.com/archives/1284 #include&lt;iostream&gt; using namespace std; int ny,my,i,n,rez,qwa;...


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

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

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