ragazzi ho da fare un ultimo programma sulle possibili mosse di un cavallo su una scacchiera.
Ma una volta compilato mi da errori del genere : -In function void mosse_cavallo(int,int*,int(*)(10). poi -declaration of 'int i' shadows a parameter.
Ecco il programma: sapete dirmi dove ho sbagliato?
codice:
#include<stdio.h>
#include<stdlib.h>

void mosse_cavallo(int i,int pos_iniz[],int pos_possibili[][10]);
void controllo(int i,int x,int y,int pos_possibili[][10]);

int main()
{ int i,j,pos_iniz[3],pos_possibili[10][10];
  i=0;
  printf("Inserisci le coordinate della posizione iniziale del cavallo:\n");
  scanf("%d",&pos_iniz[0]);
  scanf("%d",&pos_iniz[1]);
  mosse_cavallo(i,pos_iniz,pos_possibili);
  printf("Le possibili mosse del cavallo sono:\n");
  for(j=0;j<=i;j++)
  {printf("pos_possibili[%d][%d]=%d   ",pos_possibili[0][j]);
   printf("pos_possibili[%d][%d]=%d   ",pos_possibili[1][j]);
  }
  system("PAUSE");
}
  
  
  
void mosse_cavallo(int i,int pos_iniz[],int pos_possibili[][10])
  { int i,x,y;
   x=pos_iniz[0]+1;
   y=pos_iniz[1]+2;
   controllo(x,y,pos_possibili);
   x=pos_iniz[0]+1;
   y=pos_iniz[1]-2;
   controllo(x,y,i,pos_possibili);
   x=pos_iniz[0]-1;
   y=pos_iniz[0]+2;
   controllo(x,y,i,pos_possibili);
   x=pos_iniz[0]-1;
   y=pos_iniz[0]-2;
   controllo(x,y,i,pos_possibili);
   x=pos_iniz[0]+2;
   y=pos_iniz[0]+1;
   controllo(x,y,i,pos_possibili);
   x=pos_iniz[0]+2;
   y=pos_iniz[0]-1;
   controllo(x,y,i,pos_possibili);
   x=pos_iniz[0]-2;
   y=pos_iniz[0]+1;
   controllo(x,y,i,pos_possibili);
   x=pos_iniz[0]-2;
   y=pos_iniz[0]-1;
   controllo(i,x,y,pos_possibili);
   return ;
}
   
void controllo(int i,int x,int y,int pos_possibili[][10])
  {int i,x,y,pos_possibili[10][10];
   if((x>=0)&&(y>=0))
   {pos_possibili[0][i]=x;
    pos_possibili[1][i]=y;
    i=i++;
  }   
  return ;
}