#include <stdio.h>
int fx(void *data, int d1, int d2, int d3) {
int (*p)[d2][d3] = data;
for (int row = 0; row < d1; row++) {
for (int col = 0; col < d2; col++) {
for (int extra = 0; extra < d3; extra++) {
p[row][col][extra] = row * row + 2*col - extra;
}
}
}
return 0;
}
int main(void) {
int data[30] = {0};
fx(data, 3, 5, 2);
for (int k
= 0; k
< 30; k
++) printf(" %d", data
[k
]); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgZngodm9pZCAqZGF0YSwgaW50IGQxLCBpbnQgZDIsIGludCBkMykgewogICAgaW50ICgqcClbZDJdW2QzXSA9IGRhdGE7CiAgICBmb3IgKGludCByb3cgPSAwOyByb3cgPCBkMTsgcm93KyspIHsKICAgICAgICBmb3IgKGludCBjb2wgPSAwOyBjb2wgPCBkMjsgY29sKyspIHsKICAgICAgICAgICAgZm9yIChpbnQgZXh0cmEgPSAwOyBleHRyYSA8IGQzOyBleHRyYSsrKSB7CiAgICAgICAgICAgICAgICBwW3Jvd11bY29sXVtleHRyYV0gPSByb3cgKiByb3cgKyAyKmNvbCAtIGV4dHJhOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIDA7Cn0KCmludCBtYWluKHZvaWQpIHsKCWludCBkYXRhWzMwXSA9IHswfTsKICAgIGZ4KGRhdGEsIDMsIDUsIDIpOwogICAgcHJpbnRmKCJkYXRhID09PiIpOwogICAgZm9yIChpbnQgayA9IDA7IGsgPCAzMDsgaysrKSBwcmludGYoIiAlZCIsIGRhdGFba10pOwogICAgcHV0cygiIik7CglyZXR1cm4gMDsKfQo=