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.
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.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.![]()
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; }

Rispondi quotando
