Ciao 
Sto tentando di scrivere un amorevole programmino dove una funzione, ricevendo come parametri un array e la sua dimensione, restituisca la media degli interi presenti nel vettore non considerando gli eventuali duplicati.
Questo è quello che ho scritto:
codice:
#include<stdio.h>
#define N 5
double average(int arr[N], int N);
int main ()
{
int arr[N]={3, 3, 2, 7, 2};
int a, b;
a=average(b);
printf("La media e' %lf", a);
return 0;
}
double average(int arr[N], int N)
{
int i, j;
int flag;
flag=0;
for(i=0; i<N; i++) {
for(j=i+1; j<N; j++) {
if(arr[i]==arr[j])
arr[i]==0;
else
flag=1;
}
}
for(i=0; i<N; i++) {
a+=arr[i];
}
return a/N;
}
Quando vado a compilare, compare il seguente (e maledetto) messaggio d'errore:
expected ';', ',' or ')' before numeric constant
riferito sia alla riga di dichiarazione, sia a quella di invocazione della funzione.
Sono consapevole che il ragionamento con cui ho scritto il programma potrebbe essere sbagliato, intendo proprio a livello di ideazione dell'algoritmo. Però, ammesso sia possibile e se mi risponderete, avrei una richiesta da farvi:
potreste per favore indicarmi come risolvere il problema della #define, senza correggermi il resto degli errori logici del programmino?
Giusto perché vorrei ragionarci prima io.. in caso, se non saprò dove sbattere la mia già indebolita testolina, mi arrenderò alla vostra saggezza chiedendovi una mano anche per il resto!
Grazie mille in anticipo.