Ciao a tutti sono nuovo del forum e ahimé ho qualche problemino con la programmazione in C.
Sto preparando un esame universitario e sto facendo un po' di esercizi.
Mi sono imbattuto in questo tipologia di esercizio che non riesco proprio a risolvere.



Definire un tipo di dato ES, struct con due campi di nome A di tipo int e B di tipo vettore di 100 int. Scrivere una funzione con un parametro x di tipo di tipo ES ed un parametro y di tipo puntatore ad un intero. La funzione deve restituire attraverso y il numero di volte che il valore del campo A di x è contenuto nel campo B di x.
Non è la prima volta che incontro un problema quando devo verificare se un valore è contenuto nei valori di un vettore;in più se ci si mette anche il puntatore non so più dov sbattare la testa.

Quello che ho fatto è quà sotto,non dovrebbero esserci errori di sintassi,il programma gira ma non fa quello che dovrebbe.


Spero che possiate darmi una mano
Grazie 1000!!!!!

codice:
#include<stdio.h> 
#include<stdlib.h> 
#define d 5 
typedef struct{int A;int B[d];}ES;
  
int C (ES x,int*y){            
int i,trovato; 
           
*y=0;      
trovato=0;     
 for(i=0;i<d;i++) 
     
if(x.A==x.B[i]){    
                  
trovato=1; 
                     
*y++;                      }
                                
return *y;
      }    

int main()    
{        
ES N;        int i,k;       
N.A=5; 
      
for(i=0;i<d;i++) 
      
scanf("%d",&N.B[i]); 
             
printf("\n%d",C(N,&k));       
printf("\n");       
system("pause");       
return 0;       }