ragazzi devo assolutamente passare una variabile per indirizzo, in questo problema nel for di output dopo la chiamata a mosse cavallo, nella condizione del for deve esserci j<i e non j<7 forzato. come faccio a passarla per indirizzo? una mano grazieee
codice:#include<stdio.h> #include<stdlib.h> void mosse_cavallo(int i,int pos_iniz[],int pos_possibili[2][8]); int main() { int index,i,j,pos_iniz[3],pos_possibili[2][8]; printf("Inserisci le coordinate della posizione iniziale del cavallo:\n"); scanf("%d %d",&pos_iniz[0],&pos_iniz[1]); printf("Le possibili mosse del cavallo sono:\n"); mosse_cavallo(i,pos_iniz,pos_possibili); for(j=0;j<=7;j++) {printf("%d",pos_possibili[0][j]); printf("%d\n",pos_possibili[1][j]); } } void mosse_cavallo(int i,int pos_iniz[],int pos_possibili[2][8]) { int x,y; i=0; x=pos_iniz[0]+1; y=pos_iniz[1]+2; if((x>=0)&&(y>=0)) {if((x<=7)&&(y<=7)) {pos_possibili[0][i]=x; pos_possibili[1][i]=y; i=i+1; } } x=pos_iniz[0]+1; y=pos_iniz[1]-2; if((x>=0)&&(y>=0)) {if((x<=7)&&(y<=7)) {pos_possibili[0][i]=x; pos_possibili[1][i]=y; i=i+1; } } x=pos_iniz[0]-1; y=pos_iniz[1]+2; if((x>=0)&&(y>=0)) {if((x<=7)&&(y<=7)) {pos_possibili[0][i]=x; pos_possibili[1][i]=y; i=i+1; } } x=pos_iniz[0]-1; y=pos_iniz[1]-2; if((x>=0)&&(y>=0)) {if((x<=7)&&(y<=7)) {pos_possibili[0][i]=x; pos_possibili[1][i]=y; i=i+1; } } x=pos_iniz[0]+2; y=pos_iniz[1]+1; if((x>=0)&&(y>=0)) {if((x<=7)&&(y<=7)) {pos_possibili[0][i]=x; pos_possibili[1][i]=y; i=i+1; } } x=pos_iniz[0]+2; y=pos_iniz[1]-1; if((x>=0)&&(y>=0)) {if((x<=7)&&(y<=7)) {pos_possibili[0][i]=x; pos_possibili[1][i]=y; i=i+1; } } x=pos_iniz[0]-2; y=pos_iniz[1]+1; if((x>=0)&&(y>=0)) {if((x<=7)&&(y<=7)) {pos_possibili[0][i]=x; pos_possibili[1][i]=y; i=i+1; } } x=pos_iniz[0]-2; y=pos_iniz[1]-1; if((x>=0)&&(y>=0)) {if((x<=7)&&(y<=7)) {pos_possibili[0][i]=x; pos_possibili[1][i]=y; i=i+1; } } return; }

Rispondi quotando