#include <stdio.h>
int * search(int array[], int size, int goal, int * pos) {
int i = 0;
int j = 0;
for (i = 0; i < size - i; i++)
{
if (array[i] == goal) /* if required element found */
{
pos[j] = i;
j++;
}
else if (array[size - i] == goal)
{
pos[j] = size - i;
j++;
}
}
if (j == 0) {
printf("%d is not present in array.\n", goal);
}
while (j < size) {
pos[j] = -1;
j++;
}
return pos;
}
int main(int argc, char** argv) {
int array[] = {3, 4, 3, 6, 3, 2, 7, 8, 4, 6, 3, 1, 3};
int size = sizeof(array) / sizeof(*array);
int fill[size];
int * pos = search(array, size, 3, fill);
int i = 0;
while(pos[i] != -1) {
printf("%d\n", pos[i]);
i++;
}
return 0;
}