Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 25

Динамический массив структуры в качестве параметра функции

19.11.2012, 18:09. Показов 2289. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет! Нужна помощь (
Есть структура
struct Embedded
{
double density;
double energy;
}

есть 2 массива динамический
Embedded *emb_energy = new Embedded[size];
double *delta = new double [size];

есть функция
void derivatives (int size, Embedded *emb_energy, double *delta)
{
int i;
for (i=0;i<size-1;i++)
{
delta[i]=(emb_energy[i+1].energy+emb_energy[i].energy)/(emb_energy[i+1].density+emb_energy[i].density);
}
}

Вопрос: правильно ли я пишу параметры к функции и как вызвать эту функцию?
Заранее спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.11.2012, 18:09
Ответы с готовыми решениями:

Двумерный массив в качестве параметра функции
почему не удаётся передать в качестве параметра двумерный массив? #include &lt;iostream.h&gt; int sum(const int** mas, const int...

Как передать массив структур в функцию в качестве параметра, чтобы изменения в функции меняли исходный массив?
Допустим есть структура struct Base { int a; int b; int c; }; В основном методе main() объявим массив...

Передача указателя на массив в качестве параметра функции в QML
Доброго времени суток. Имеется следующая система - в Qml приложении есть два элемента: Text{} и Button{}. По нажатию на кнопку в C++...

4
 Аватар для Wolkodav
842 / 480 / 58
Регистрация: 18.09.2012
Сообщений: 1,688
19.11.2012, 18:20
Ну передаёшь правильно. Я вроде бы криминала не вижу.
А вызываешь ну просто
C++
1
2
3
4
5
6
7
8
void main()
{
int size=10;
Embedded* A=new Embedded[size];
double* b=new double[size];
derivatives(size,A,b);
return;
}
Просто объявляешь параметры такого же типа и передаёшь в функцию, ну при вызове.
1
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 25
19.11.2012, 18:27  [ТС]
Вроде бы также и делаю, но ругается почему-то

main.cpp:26: error: Б─≤EmbeddedБ─≥ has not been declared
main.cpp: In function Б─≤void derivatives(int, int*, double*)Б─≥:
main.cpp:31: error: request for member Б─≤energyБ─≥ in Б─≤*((emb_energy + 4u) + ((int*)(((long unsigned int)i) * 4ul)))Б─≥, which is of non-class type Б─≤intБ─≥
main.cpp:31: error: request for member Б─≤energyБ─≥ in Б─≤*(((int*)(((long unsigned int)i) * 4ul)) + emb_energy)Б─≥, which is of non-class type Б─≤intБ─≥
main.cpp:31: error: request for member Б─≤densityБ─≥ in Б─≤*((emb_energy + 4u) + ((int*)(((long unsigned int)i) * 4ul)))Б─≥, which is of non-class type Б─≤intБ─≥
main.cpp:31: error: request for member Б─≤densityБ─≥ in Б─≤*(((int*)(((long unsigned int)i) * 4ul)) + emb_energy)Б─≥, which is of non-class type Б─≤intБ─≥
main.cpp: In function Б─≤int main()Б─≥:
main.cpp:65: error: cannot convert Б─≤Embedded*Б─≥ to Б─≤int*Б─≥ for argument Б─≤2Б─≥ to Б─≤void derivatives(int, int*, double*)Б─≥

Соответственно 26 строка - объявление функции, 31 - вычисление внутри функции, 65 - вызов функции
0
 Аватар для I.M.
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
19.11.2012, 18:30
ok40, какие-то странные символы у вас в тексте ошибок "Б─"
А функция в курсе, что существует класс Embedded?
0
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 25
19.11.2012, 18:32  [ТС]
)))))))) я тормоз, структура описана после функции была. спасибо большое за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.11.2012, 18:32
Помогаю со студенческими работами здесь

Как правильно использовать массив в качестве параметра функции ?
Здравствуйте ! Подскажите, пожалуйста правильный синтаксис описания функции, в качестве параметра которой используется, например...

Как передать функции в качестве параметра массив пользовательских типов данных
Собственно вопрос указан в теме. Весь день мучаюсь с этим. есть пользовательский тип данных: Type Kit Name As String Count...

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

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

Передача функции в качестве параметра
Все привет. Помогите в решении следующей проблемы: есть класс XXX, один из методов которого принимает в качестве параметра указатель на...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru