PDA

View Full Version : [c] Problma inizializzazione matrice array


toninozamparillo
29-11-2015, 19:08
Ciao a tutti! Sto scrivendo un programma in c, volevo definire una matrice 16x40 cosė:

int xtyt[][] = { {0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0},
{0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0},
{0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0},
{0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0},
{0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0},
{0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0},
{0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,1,1,0,1,1,1,1,1,1,1,1,0,1,1,0},
{0,1,1,0,1,1,1,1,1,1,1,1,0,1,1,0},

cut//

Mi da una serie di errori, vorrei sapere qual č il modo giusto di definirla senza ricorrere a cicli. Scusate per la domanda forse stupida ma sono un principiante. Ringrazio anticipatamente.


EDIT: questo č l'errore -> [Error] declaration of 'xtyt' as multidimensional array must have bounds for all dimensions except the first

toninozamparillo
29-11-2015, 19:26
questo e' il mod giusto, al Massimo gli errori che puoi ricevere e' che ti manca qualche parentesi o punto e virgola da qualche parte...
[Error] declaration of 'xtyt' as multidimensional array must have bounds for all dimensions except the first

Mi da questo errore, le parentesi e i punti ci sono tutti...

toninozamparillo
29-11-2015, 19:40
penso che dipenda dallo standard, vuol dire semplicemente che devi specificare tutte le dimensioni oltre la prima:

e.g. xtyt[][40]

rimango convinto che in C99 non sia necessario specificare, ma posso sbagliare...
Hai ragione, ho specificato ma ora l'errore č: [Error] too many initializers for 'int [0][40]'

Significa che non č possibile definire "manualmente" una matrice con cosė tante componenti? Non c'č un altro modo? Essendo fatta di 1 e 0 pių o meno in egual misura diventa difficile con i cicli...

toninozamparillo
02-12-2015, 21:37
Esatto. Era questo il problema, ti ringrazio.

toninozamparillo
02-12-2015, 21:46
Scusate il doppio post, problema risolto in ogni caso.