salve a tutti.. devo creare una funzione "restringi()" che prenda come parametri:
- un array R di struct P (dove definisco struct P con due campi, c1=int e c2=array di char)
- un array A di tipo int
- un array S di tipo struct P, contenente le struct di R, dove sono contenuti elementi in comune fra R[].c1 A[]
e poi stampi S ed il numero di elementi di S..
esempio stupido
R={19, "aaa", 20, "bbb", 21, "ccc"}
A={19, 21}
stampa S= 19 aaa
21 ccc
la funzione devo poi inserirla in un "main di prova" dove i dati vengono definiti dall'utente..
come devo fare? NON RIESCO A PASSARE I PARAMETRI ALLA FUNZIONE..
ho azzardato questo.. ma non funziona.. qualcuno puo dirmi cosa sbaglio? (per favore no puntatori)
codice:#include <iostream> #include <cstring> using namespace std; struct P //dichiaro il tipo P { int c1; char c2[80]; }; struct P R[4]; struct P S[4]; int m, n, x;// dim R, dim A, dim elementi S (Condivisi) int r, a, s;// indici di R, A ed S int A[4]; int restringi(struct P, P R[], int A[], int n, int m, P S[]) { for(r=0; r<=m; r++) { for(a=0; a<=n; a++) { if (A[a]==R[r].c1) { S[s].c1=A[a]; stricmp(S[s].c2, R[r].c2); x++; } } } return x; } int main() { int m, n, x;// dim R, dim A, dim elementi S (Condivisi) int r, a, s; struct P //dichiaro il tipo P { int c1; char c2[80]; }; struct P R1[m]; struct P S1[x]; int A1[n]; cout<<"programma di prova.."<<endl; cout<<"inserisci il numero di elementi R:"<<endl; cin>>m; r=0; for (r=0; r<m; r++) { cout<<"Inserisci il "<<r+1<<" elemento numerico "<<endl; cin>>R1[r].c1; } r=0; for (r=0; r<m; r++) { cout<<"Inserisci il "<<r+1<<" elemento alfanumerico "<<endl; cin>>R1[r].c2; } cout<<"inserisci il numero di elementi A:"<<endl; cin>>n; a=0; for (a=0; a<n; a++) { cout<<"Inserisci il "<<r+1<<" elemento di A "<<endl; cin>>A1[a]; } x = restringi (P R1[ ] , int A1 [ ], int n, int m, P S1 [ ]); cout<<"il numero di elementi di S è: " <<x; cout<<"gli elementi di S sono: "; // nn posso continuare la funzione non va!! return 0; }

Rispondi quotando


