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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Динамический массив в С++: как поменять длину массива по ходу выполнения программы? - C++
Есть такая проблема: есть файл, в котором построчно записаны числа float (1 число - 1 строка). Количество чисел неизвестно. Как...

Переписать все элементы из этих массивов в массив С так, чтобы массив С был упорядоченным - C++
Даны два упорядоченных целочисленных массива: А, содержащий n1 элементов и В из n2 элементов. Переписать все элементы из этих массивов в ...

Динамический массив, много циклов и простые числа. Как ускорить работу программы ? - C++
Всем привет. Задание следующее: Кто нибудь вводит с клавиатуры число n и k, должен создастся массив из чисел от 1 до n, далее каждый...

Мне нужно ввести в программу данные с помощью ifstream и добавить их всех в вектор чтобы был список. - C++
Доброго времени суток. У меня есть класс Студенты. Мне нужно ввести в программу данные о них(ID, имя, фамилия, возраст) с помощью ifstream...


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

Или воспользуйтесь поиском по форуму:
censor
8 / 8 / 0
Регистрация: 05.06.2013
Сообщений: 60
03.09.2013, 01:17     Как объявить динамический массив, чтобы он был виден во всех процедурах программы? #15

Не по теме:

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

Не по теме:

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

Почему я должен вас предсказывать?
Yandex
Объявления
03.09.2013, 01:17     Как объявить динамический массив, чтобы он был виден во всех процедурах программы?
Ответ Создать тему
Опции темы

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