Grazie della risposta!
Ho provato a fare così ma ancora non riesco a risolvere, posto il codice.
Questo è il file "main.c"
Questo invece è il file che ho chiamato "funzione.c". Il compilatore mi segnala errore quando provo a calcolarmi la lunghezza dell'array tramite operatore sizeof. Come posso fare per sapere la lunghezza di un array che è stato dichiarato in un altro file??codice:#include "funzione.c" #include <stdio.h> unsigned dati_comuni[]={2,5,7,1,65,34,8,10}; int main(void) { ordina_dati(); for (int i=0; i<sizeof(dati_comuni)/sizeof(dati_comuni[0]); i++) { printf("elemento %d vale %d\n",i,dati_comuni[i]); } return 0; }
codice:#include <stdio.h> #include <string.h> void ordina_dati(void){ int i,j,min,temp,len; extern unsigned int dati_comuni[]; len=sizeof(dati_comuni)/sizeof(dati_comuni[0]); for(i=0; i<len-1; i++) { min = i; for(j=i+1; j<len; j++) if(dati_comuni[j] < dati_comuni[min]) min = j; temp=dati_comuni[min]; dati_comuni[min]=dati_comuni[i]; dati_comuni[i]=temp; } }

Rispondi quotando