Salve qualcuno mi saprebbe dire come passare ad una funzione C una matrice ??
Come va dichiarato il prototipo e la relativa funzione ??
Thanks
Salve qualcuno mi saprebbe dire come passare ad una funzione C una matrice ??
Come va dichiarato il prototipo e la relativa funzione ??
Thanks
Carlo Carbone
Se la matrice è statica (cioè conosci già ENTRAMBE le dimensioni) allora cosìOriginariamente inviato da Carlo1984
Salve qualcuno mi saprebbe dire come passare ad una funzione C una matrice ??
Come va dichiarato il prototipo e la relativa funzione ??
Thanks
Altrimenti devi usare i doppi puntatori (o tripli o più per matrici a dimensione maggiore di due)codice:#include <stdio.h> //prototipo void lavoraConMatrice(int[30][30]); int main() { return 0; } //definizione void lavoraConMatrice(int m[30][30]) { ... }
codice:#include <stdio.h> //prototipo void lavoraConMatrice(int**); int main() { return 0; } //definizione void lavoraConMatrice(int** m) { ... }
Il centro dell'attenzione non è sempre un buon posto in cui trovarsi
Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)
Beh ora mi trovo in difficoltà vi posto il codice
typedef struct nodo { // STRUTTURA DEL NODO NELLA CODA
int Number;
char String[5];
} NODO;
void InitCross ( ????? )
int main()
{
NODO Incroci[NUM_INCROCI * 2][STACK_DIM];
InitCross ( ?????????????? );
}
void InitCross ( ????? )
{
int Index;
for ( Index = 0 ; Index < NUM_INCROCI * 2 ; Index ++ )
(*Incroci)[Index][0].Number = 0;
*Priority = 1;
}
Come definisco la funzione ed accedo alla matrice se utilizzo una matrice nxm ???
Carlo Carbone
L'indice i scandisce le righe e per ogni valore di i (quindi per ogni riga) l'indice j scandisce le colonne (quindi gli elementi di ogni riga)codice:typedef struct nodo { // STRUTTURA DEL NODO NELLA CODA int Number; char String[5]; } NODO; void InitCross ( NODO [NUM_INCROCI * 2][STACK_DIM] ) int main() { NODO Incroci[NUM_INCROCI * 2][STACK_DIM]; InitCross ( Incroci); } void InitCross ( NODO Incroci[NUM_INCROCI * 2][STACK_DIM]) { int Index; for ( i= 0 ; i< NUM_INCROCI * 2 ; i++ ) for ( j= 0 ; j< STACK_DIM ; j++ ) Incroci[i][j].Number = 0; *Priority = 1; }
La prossima volta metti i tag CODE.
Il centro dell'attenzione non è sempre un buon posto in cui trovarsi
Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)