Intersecçao em linguagem c

pessoal to com esse trampo da faculdade alguem me ajuda nao to conseguindo fazer. Faça um algoritmo e codifique na linguagem C um programa que compare os conjuntos A={1,3,2,4,5,9} e B={1,5,7,4,8,9,3}, realizando a intersecção entre eles. eu tentei isso mais nao vai e assim q tem q fazer ?

void main(){

int a[] = { 1, 3, 2, 4, 5, 9 }, b[] = { 1, 5, 7, 4, 8, 9, 3 }, in;
int i;

printf("conjunto A { 1, 3, 2, 4, 5, 9 } ");
printf("\nconjunto B { 1, 5, 7, 4, 8, 9, 3 } ");

for (i = 0; i < 7; i++){
		 in = a[6] == b[7];
		printf("\nA interseccao e: %d", in );
}

system("pause");

}

@mitocir blz?

No loop você não está usando o contador para passar pelos valores de a[] ou b[].

Eu usaria dois laços aninhados para percorrer todos os valores de cada vetor e ver quais deles irão formar a intersecção.

Veja se o código que segue resolve seu problema.

int main(void) {
  int a[] = { 1, 3, 2, 4, 5, 9 }, b[] = { 1, 5, 7, 4, 8, 9, 3 };
  int i,j;

  printf("conjunto A { 1, 3, 2, 4, 5, 9 } ");
  printf("\nconjunto B { 1, 5, 7, 4, 8, 9, 3 } ");

  for (i = 0; i < 6; i++){
  	  for (j = 0; j < 7; j++){
			  if(a[i] == b[j]){
				  printf("\nA interseccao contém: %d", a[i] );
			  }

          }
  }

  return EXIT_SUCCESS;
}

Um abraço!

#include <stdio.h>

#include <stdlib.h>

#define TAMANHO_DO_VETOR_EX12 50

void enunciadoEx12() {

    puts("\n\nEx12: (funcao + ponteiros)\n");

    puts("Faca um programa que leia dois vetores (A e B) de 50 posicoes e crie um terceiro (C) com a");

    puts("interseccao dos dois primeiros, isto e, coloque em C apenas os elementos que existem em A e");

    puts("que tambem existem em B. Mostre C.");

    puts("(Dica: Criar funcao que receba como parametro os dois vetores A e B + o terceiro vetor, e que");

    puts("abasteca o terceiro vetor conforme a regra acima).");

}

void atribuirInterseccaoEx12(int *vetorC, int interseccao, int indexC) {

        *(vetorC + indexC) = interseccao;

}

void resolucaoEX12() {

    int vetorA[TAMANHO_DO_VETOR_EX12] = {

                                    -1, 1, -2, 2, -3, 3, -5, 5, -8, 8,

                                    -6, 6, -4, 4, -9, 9, -7, -7, -3, -3,

                                    -1, 1, -5, 5, -8, 8, -4, -4, -3, -3,

                                    -7, 7, -9, 9, -4, 4, -8, 8, -2, -2,

                                    -1, -5, -8, 0, 2, 5, -6, 1, -5, -9

                                   };

    int vetorB[TAMANHO_DO_VETOR_EX12] = {

                                    1, 1, -2, 2, -3, 3, -5, 5, -8, 8,

                                    6, 6, -4, 4, 9, 9, -7, -7, -3, -3,

                                    1, 1, -5, 5, -8, 8, -4, -4, -3, -3,

                                    7, 7, -9, 9, -4, 4, -8, 8, -2, -2,

                                    1, -5, -8, 0, 2, 5, -6, 1, 5, -9

                                   };

    int vetorC[TAMANHO_DO_VETOR_EX12] = {0};

    int indexC = 0;

    int interseccao = 0;

    for (int index = 0; index <= TAMANHO_DO_VETOR_EX12; index++) {

        interseccao = vetorA[index];

        if(interseccao == vetorB[index]) {

            if(indexC == 0) {

                atribuirInterseccaoEx12(&vetorC, interseccao, indexC);

                indexC++;

            }

            else {

                int atribuirInterseccao = 1;

                for (int countC = 0; countC < indexC; countC++) {

                    if(interseccao == vetorC[countC]) atribuirInterseccao = 0;

                }

                if (atribuirInterseccao == 1) {

                    atribuirInterseccaoEx12(&vetorC, interseccao, indexC);

                    indexC++;

                }

            }

        }

        

    }

    puts("");

    if(indexC > 0) {

        printf("IndexC count = %d\n", indexC);

        for (int index = 0; index < indexC; index++) {

            printf("VetorC[%d] = %d\n", index, vetorC[index]);

        } 

    }

    else printf("\nNao existe interseccao entre os vetores\n");

}

void executeEx12() {

    enunciadoEx12();

    resolucaoEX12();

}

int main(void) {

    executeEx12();

    return EXIT_SUCCESS;

}