Salve ragazzi, vi posto il codice di questo programma che dovrebbe cancellare da un'array i valori pari e stampare a video il nuovo array contenente solo elementi dispari. In particolare ho utilizzato un altro array nel quale copiare inizialmente tutti i dispari per poi ritrasferirli in quello iniziale. Purtroppo non riesco a compilarlo poichè il compilatore mi da errori (che suppongo siano evidenti) riguardo il traferimento per riferimento...Ecco il codice, qualcuno potrebbe spiegarmi come gestire il passaggio per riferimento?
codice:
#include<stdio.h>
#include<stdlib.h>
int lettura(int vet[]);
int elabora(int vett[], int DIM);
void stampa(int vetts[], int dimfin);
main()
{
int vettore[30],dim;
dim=lettura(vettore);
dim=elabora(vettore,dim);
stampa(vettore, dim);
system("pause");
}
int lettura(int vet[]) /*funzione per la lettura*/
{
int dim1,k,n;
printf("Inserire la dimensione logica del vettore");
scanf("%d", &dim1);
for( k=0; k<dim1; k=k+1);
{
scanf("%d", &n);
*vet[k]=n;
}
return dim1;
}
int elabora(int vett[], int DIM) /*funzione per la cancellazione dei pari*/
{
int k,c,temp[30];
c=0;
for(k=0;k<DIM;k=k+1)
{
if(*vett[k]%2!=0)
{
temp[c]=*vett[k];
c=c+1;
}
}
DIM=c;
k=0;
for(c=0;c<DIM;c=c+1)
{
*vett[k]=temp[c];
k=k+1;
}
return DIM;
}
void stampa(int vetts[],int dimfin) /*funzione per la stampa*/
{
int k;
for(k=0;k<dimfin;k=k+1)
{
printf("%d", *vetts[k]);
}
}