C/C++

Помогите с кодом на Dev++

Составить метод Run, который позволит выполнить следующие действия с одномерными массивами (если задачу решить нельзя, то сообщить об этом).
Найти сумму модулей элементов массива, расположенных после мини- мального по модулю элемента.
MM
Makvit Makvitt
187
Для функции:
 def Run(A): 
return sum([abs(a) for a in A[A.index(min(A)) + 1::]])
# Пример использования функции:
print(Run([1, -10, 5, -3, 4]))
Но можно эту функцию сделать и методом какого-нибудь модуля, например, модуля module, если в той же папке, что и основная программа, записать функцию Run в файл module.py. Тогда вызов метода будет происходить так:
 import module
A = [-5, -6, -5, -4, -3, -2, -1]
print(module.Run(A)) #где А - это числовой список
А если сделать так:
 from module import* # подключение всех методов модуля module 
То в этом случае сам метод можно будет вызывать так:
 print(Run([0,-10,3,-4,5,-6])) 
Владимир Назарько
Владимир Назарько
66 572
Лучший ответ
Владимир Назарько Хе, рубрика вдруг изменилась на C/C++...
 #include  
#include
#include

using namespace std;

struct Result {
bool status;
double sum;
Result() : status(false), sum(0) {}
};

Result Run(double* box, size_t n) {
Result data;
size_t pos = 0;
for (size_t i = 1; i < n; ++i) {
if (fabs(box[i]) < fabs(box[pos])) {
pos = i;
}
}
if (pos != n - 1) {
data.status = true;
double sum = 0.0;
for (size_t i = pos + 1; i < n; ++i) {
sum += fabs(box[i]);
}
data.sum = sum;
}
return data;
}

int main() {
const size_t n = 8;
double box[n] = { 0 };
cout
Проходим массив - ищем минимальное по модулю, во второй раз суммируем модули после модульного минмума.