Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 11.02.2015
Сообщений: 4

Как передать из кода луа в программу на с++ массив чисел

14.09.2011, 14:52. Показов 2705. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Может немного не в тему, но решил написать здесь. В общем, передо мною стоит задача передать из кода луа в программу на с++ массив чисел, что-то типа такого:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
fi=0
gama=0.5
amp=1
n=32
 
 
function sinewave ()
    print ( 'fi= ', fi,'gama= ', gama,'amp= ', amp)
    for i=1,n do
    arr[i]=amp*math.sin(gama*i+fi0)
    end
    return arr,n
end
Подскажите пожалуйста, как трансформировать массив со стека в обычный С-ный, если такое вообще возможно.
Кроме этого желательно иметь возможность наоборот класть массив из программы на с++ в стек, чтобы оперировать с ним в коде луа.
Спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.09.2011, 14:52
Ответы с готовыми решениями:

Как передать массив из базы данных (передать массив из php в javascript методом ajax)
<?php //php страница qwe.php для обработки ajax запроса require_once "blocks/head.php"; ...

Как передать массив вещественных чисел от клиента к серверу?
Есть клиент/сервер на си, использующий winsock. Клиент/сервер получает и отправляет только символьные значения char*, а мне нужно...

Как передать массив вещественных чисел от клиента к серверу?
Есть клиент/сервер на си, использующий winsock. Клиент/сервер получает и отправляет только символьные значения char*, а мне нужно...

3
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
14.09.2011, 15:24
Chyrka, С такими вопросами лучше на http://www.lua.ru/ обращаться (там тыкаешь в раздел "Форум"). Если не затруднит, то потом здесь отпиши итог
0
0 / 0 / 0
Регистрация: 11.02.2015
Сообщений: 4
16.09.2011, 14:26
Немного исправил код в луа
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
function sinewave ()
    fi0=0
    gama=0.5
    amp=1
    n=8
    arr = {}
    
    print ( 'fi= ', fi,'gama= ', gama,'amp= ', amp)
    for i=1,n,1 do
    arr[i]=amp*math.sin(gama*i+fi0)
    end 
    return n,arr
end
ну а в с++ после кода, который запускает программку sinewave, нужно записать:
C++
1
2
3
4
5
6
7
lua_pushnil(lua);
while (lua_next(lua, -2) != 0) 
   {
    double outv=lua_tonumber(lua,-1);
    std::cout << outv << endl;                      
    lua_pop(lua, 1);  
   }
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
16.09.2011, 15:09
Цитата Сообщение от Chyrka Посмотреть сообщение
ну а в с++ после кода, который запускает программку sinewave, нужно записать
Итог получается такой, что в стеке последовательно записаны сначала "n", потом "arr[0]", потом "arr[1]" и т.п. Массив как таковой ничем не подсвечивается, а просто передаётся как список значений

Добавлено через 1 минуту
Кстати, в твоём случае было бы честным сначала прочитать n, а потом делать цикл от 1 до n и читать значения. А загнать сначала пустышку, а потом читать до тех пор, пока на неё не наткнёмся - это больше на затычку смахивает
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.09.2011, 15:09
Помогаю со студенческими работами здесь

Как передать массив комплексных чисел через параметр в подпрограмму?
Здравствуйте , беспокоит следующий вопрос: имеется класс комплексных чисел с основными соответствующими операциями. Требуется из...

Как проще передать в запрос СКД массив (список.) чисел?
Как проще передать в запрос СКД массив (список...) чисел? Например есть числа 1,2,3,4,5. Необходимо в СКД получить отчет: Числа ...

Как можно использовать функции написанные на луа
Попробовал подключить - получилось, но использовать функции почему то не получается (скорее всего не могу догадатся как это сделать),...

Не могу разобраться как передать корректно передать массив из функции в функцию
//--------------------------------------------------------------------------- #pragma hdrstop ...

Массив чисел типа double передать в функцию, которая суммирует и возвращает сумму и массив
Написать функцию, которой передается массив чисел типа double, Функция суммирует элементы этого массива и возвращает полученную сумму и...


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

Или воспользуйтесь поиском по форуму:
4
Закрытая тема Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru