Сорри, совсем не понял, что Вам надо сделать. Что Вы понимаете, под
Нужно сформировать массивы с результатами работы(10000 элементов)
Если Вам надо получить массив значений из 10000 элементов, на основании вызова функций - вызовите для каждого элемента соответствующую функцию. Хоть в цикле, хоть копипастой, хоть макросами типа
#include <stdio.h>
double f1(double x) { return x * 1 ;}
double f2(double x) { return x * 2 ;}
double f3(double x) { return x * 3 ;}
#define fillelem3(arr, idx, x) { (arr)[(idx)] = f1(x); (arr)[(idx+ 1)] = f2(x); (arr)[(idx + 2)] = f3(x); }
#define fillelem9(arr, idx, x) { fillelem3(arr, (idx), x); fillelem3(arr, (idx) + 3, x); fillelem3(arr, (idx) + 6, x); }
#define fillelem27(arr, idx, x) { fillelem9(arr, (idx), x); fillelem9(arr, (idx) + 9, x); fillelem9(arr, (idx) + 18, x); }
#define fillelem81(arr, idx, x) { fillelem27(arr, (idx), x); fillelem27(arr, (idx) + 27, x); fillelem27(arr, (idx) + 54, x); }
#define fillelem243(arr, idx, x) { fillelem81(arr, (idx), x); fillelem81(arr, (idx) + 81, x); fillelem81(arr, (idx) + 162, x); }
#define fillelem729(arr, idx, x) { fillelem243(arr, (idx), x); fillelem243(arr, (idx) + 243, x); fillelem243(arr, (idx) + 486, x); }
#define fillelem2187(arr, idx, x) { fillelem729(arr, (idx), x); fillelem729(arr, (idx) + 729, x); fillelem729(arr, (idx) + 1458, x); }
#define fillelem6561(arr, idx, x) { fillelem2187(arr, (idx), x); fillelem2187(arr, (idx) + 2187, x); fillelem2187(arr, (idx) + 4274, x); }
#define fillelem10000(arr, x) { fillelem6561(arr, 0, x); fillelem2187(arr, 6561, x); fillelem729(arr, 8748, x); fillelem243(arr, 9477, x); fillelem243(arr, 9720, x); fillelem27(arr,9963, x); fillelem9(arr, 9990, x); (arr)[9999] = f1(x); }
int main(int argc, char* argv[])
{ double arr[10000];
int i;
fillelem10000(arr, 3);
for (i = 0; i < 10000; i++)
printf("%d %f\n", i, arr[i]);
return 0;
}
Хотя, конечно, так делать не надо.
А чем Вас не устроили циклы, если не секрет?