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; }