Ciao a tutti nel risolvere questo esercizio mi è venuto un dubbio: (posto il testo)
Si scriva un programma C che svolge il compito illustrato nel seguito e il cui codice sorgente sia suddiviso in due distinti file sorgenti. Il compito del programma è ordinare un array di elementi di tipo unsigned chiamato "dati_comuni" e successivamente stamparne il contenuto, un valore su ciascuna riga. Il primo dei due file sorgente deve contenere l'array e la funzione main. Il secondo file sorgente deve contenere la funzione di ordinamento, che deve rispettare il prototipo seguente:
void ordina_dati(void);

Tralasciando il fatto che non ho diviso il codice in due file sorgente volevo provare a scrivere la funzione di ordinamento. Ragionando però non capisco proprio come una funzione che non accetta nessun parametro possa ordinare un array. è sbagliato il testo dell'esercizio? Oppure c'è qualcosa che non so? il prototipo non dovrebbe essere del tipo " void ordina_dati(unsigned array[])"???

Vi posto anche quello che ho provato a scrivere..però non funziona, cioè mi ristampa l'array senza ordinarlo
Maledetto C!
Grazie in anticipo! Help me!



#define LEN 10
#include <stdio.h>




void ordina_dati(void);
int main(void)
{
unsigned dati_comuni[LEN]={56,3,4,7,1,5,0};
ordina_dati();
int i;
for (i=0; i<LEN; i++)



printf("%u\n",dati_comuni[i]);





return 0;
}


void ordina_dati(void){
int i,j,min,temp;
unsigned vet[LEN];


for(i=0; i<LEN-1; i++)
{
min = i;

for(j=i+1; j<LEN; j++)
if(vet[j] < vet[min])
min = j;

temp=vet[min];
vet[min]=vet[i];
vet[i]=temp;
}





}