Buongiorno, sto cercando di realizzare il gioco del tris con le funzioni, avevo già precedentemente scritto il codice per esso senza le funzioni ed era funzionante, ma ora ho un problema. Una funzione chiamata "vettore" contiene i numeri da 1 a 9, la quale viene richiamata in un'altra funzione che stampa la griglia di gioco, qui a una matrice viene assegnato il rispettivo numero del vettore. Il problema sorge dopo aver chiesto al giocatore la casella in cui dev'essere inserita la 'x'. Come posso modificare una specifica posizione di un vettore nel main, per fare in modo che possa essere assegnata nella matrice di stampa? Posto il codice scritto fino ad ora, compresa la richiesta del numero all'utente (so che le righe di codice successive sono sbagliate, chiedo per questo motivo). Ho cominciato da poco l'argomento funzioni e non ho trovato una soluzione a riguardo. Grazie mille in anticipo.
#include <stdio.h>
#define R 3
#define C 3
#define DIM 9
char vettore(char vett[DIM]) {
int i;
for (i=0;i<DIM;i++) {
vett[i]=i+49;
//printf("%c|",vett[i]);
}
//printf("\n");
}
void tris () {
char Vett[DIM],mat[R][C];
int i,j,k=0;
vettore(&Vett[0]);
for (i=0;i<R;i++) {
for (j=0;j<C;j++) {
mat[i][j]=Vett[k];
printf("%c|",mat[i][j]);
k++;
}
printf("\n");
}
}
main () {
int num1,num2,pos,x;
char Mat[R][C],vett2[DIM];
vettore(&vett2[0]);
tris();
printf("Giocatore 1\ninserisci una posizione: ");
scanf("%d",&num1);
pos=num1-1;
vett2[pos]='x';
vettore(&vett2[0]);
tris();
}