Problema riempimento matrice in c tramite funz

di il
5 risposte

Problema riempimento matrice in c tramite funz

Salve buongiorno sono nuovo in questo forum,premetto che sono poco esperto dato che sono uno studente di 4 liceo. Stavo iniziando a scrivere il programma per gli scacchi in c. Quando provo a riempire la matrice con inizializzazione runtime tramite una funzione void riscontro un problema di sintassi che non so come risolvere.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
void riempimentoscacchiera(char scacchiera[8][8])
{
int i,j;
scacchiera =
{
{'t','c','a','q','k','a','c','t'},
{'p','p','p','p','p','p','p','p'},
{' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' '},
{'P','P','P','P','P','P','P','P'},
{'T','C','A','Q','K','A','C','T'},
};

}
int main()
{
int i,j,g;
char scacchiera[8][8];
riempimentoscacchiera(scacchiera);
printf (" 0 1 2 3 4 5 6 7\n");
for(i=0;i<8;i++)
{
printf("%d ",i);
for(j=0;j<8;j++)
{
printf(" %c ",scacchiera [j]);
}
printf("\n");
}

}

questo qui sopra è il codice mentre quello che lascio qui sotto è l'errore segnalato dal compilatore.
main.c: In function ‘riempimentoscacchiera’:
main.c:10:3: error: expected expression before ‘{’ token
{


qualcuno sa come posso risolvere?
grazie in anticipo per la risposta e buona giornata.

5 Risposte

  • Re: Problema riempimento matrice in c tramite funz

    Usa i tag CODE (pulsante < / >) o non si capisce il codice

    A parte questo, secondo me la scacchiera è un oggetto unico e può essere a buon diritto una variabile globale
  • Re: Problema riempimento matrice in c tramite funz

    Non credo che nella riempimentoscacchiera() tu possa 'assegnare' la matrice in quella maniera

    Temo che tu possa usare quella maniera solo per 'inizializzare' la matrice in sede di dichiarazione, nel tuo caso nella main()

    Se proprio devi usare una funzione di 'riempimento' puoi considerare la matrice come una singola stringa di 64 caratteri e fare una memcopy (non strcpy() a causa della mancanza del terminatore)
  • Re: Problema riempimento matrice in c tramite funz

    Cioè così
    
    void riempimentoscacchiera(char scacchiera[8][8])
    {
    	memcpy((char *)scacchiera, "tcaqkactpppppppp                                PPPPPPPPTCAQKACT", 64);
    }
    
    P.S. Ma sei sicuro di voler iniziare un programma di scacchi per imparare a programmare in C?
  • Re: Problema riempimento matrice in c tramite funz

    Pensavo proprio così

    L'intento di scrivere un programma di scacchi per imparare a programmare è una bella 'partenza in salita'

    Temo che non andrà a buon fine

    Però offre tante occasioni per imparare....
  • Re: Problema riempimento matrice in c tramite funz

    StandardOil ha scritto:


    Pensavo proprio così

    L'intento di scrivere un programma di scacchi per imparare a programmare è una bella 'partenza in salita'

    Temo che non andrà a buon fine

    Però offre tante occasioni per imparare....
    In realtà è un tipo di programma che i programmatori esperti (e non tutti) affrontano dopo tanto tanto tempo di studio ...
Devi accedere o registrarti per scrivere nel forum
5 risposte