Надо вывести минимальный элемент, используя функцию из динамической библиотеки
C.
Что-то не получается: то переполнение стека, то еще что-то.
Не пойму, это проблема функции или моего написания в
Python?
Так как функция из лабораторной работы и по идеи работает.
Рекурсивная функция для нахождения минимального елемента:
int min_element(int *begin, int *end)
{
if (begin == end)
return *begin;
int smin = min_element(begin + 1, end);
return *begin < smin ? *begin : smin;
}
Тут нужно найти минимальный елемент:
arrRandom = lib.arrRandom
arrRandom.restype = None
arrRandom.argtypes = [ctypes.POINTER(ctypes.c_int), ctypes.c_int]
min_element = lib.min_element
min_element.restype = ctypes.c_int
min_element.argtypes = [ctypes.POINTER(ctypes.c_int), ctypes.POINTER(ctypes.c_int)]
size = 5
A = (ctypes.c_int * size)()
arrRandom(A, size)
print("Random array A:")
for i in range(size):
print(A[i], end=' ')
print()