#include <stdio.h>
void PrintCommonElementsInThreeArrays(int arr1[], int arr2[], int arr3[],
int size1, int size2, int size3) {
int i = 0, j = 0, k = 0;
while (i < size1 && j < size2 && k < size3) {
if (arr1[i] == arr2[j] && arr3[k] == arr1[i]) {
printf("%3d", arr1[i]);
i++; j++; k++;
}
else if (arr1[i] < arr2[j])
i++;
else if (arr2[j] < arr3[k])
j++;
else
k++;
}
}
int main() {
int arr1[] = { 2, 5, 6, 7, 9, 12, 20, 25, 30, 31 };
int arr2[] = { 4, 7, 10, 11, 20, 21, 30, 31, 37 };
int arr3[] = { 1, 2, 5, 7, 9, 18, 19, 20, 31, 32, 38, 39, 40, 50 };
int size1 = sizeof(arr1) / sizeof(arr1[0]);
int size2 = sizeof(arr2) / sizeof(arr2[0]);
int size3 = sizeof(arr3) / sizeof(arr3[0]);
PrintCommonElementsInThreeArrays(arr1, arr2, arr3, size1, size2, size2);
return 0;
}
/*
run:
7 20 31
*/