У меня есть три одномерных массива.Задача состоит в том, чтобы хранить числа, которые существуют в каждом из трех массивов, в четвертом массиве.Вот мое решение, которое, как вы видите, не правильно.Мне также интересен более быстрый алгоритм, если это возможно, потому что это сложность O (N3).
#include <stdio.h>
main(){
int a[5]={1,3,6,7,8};
int b[5]={2,5,8,7,3};
int c[5]={4,7,1,3,6};
int i,j,k;
int n=0;
int d[5];
for(k=0; k<5; k++){
for(j=0; j<5; j++){
for(i=0; i<5; i++){
if(a[i]==b[j] && b[j]==c[k])
{d[n]=a[i];
n++;}
else
d[n]=0;
}}}
//Iterate over the new array
for(n=0;n<5;n++)
printf("%d\n",d[n]);
return 0;
}