Tens mesmo de reservar memória para o array, é mta estranho ke tenhas conseguido compilar mas... Agora tens é de usar o calloc ou malloc e reservares memória para o array se for de tamanho variável, se não for poes sempre com o meu espaço, bem tenhu de me ir de fds para a terriola.
Cumprimentos..
Vai aki http://www.cplusplus.com/ref/cstdlib/calloc.html, ve la se ajuda, a lógica é ke vais alocando a memoria para cada posição por ordem, ora começas por alocar a linha com as varias posições (file_controlo.total_produtores+2) e dps no ciclo for voltas a alocar mas para as colunas de cada posição da linha, axo ke é assim ke se explica... Só eskeci-me de te dizer ke convém libertares a memória com o void free (void *p); qd ja nao precisares dele, no entanto como o prog é rápido ele qd acaba liberta automaticamente...ou seja terias de colocar: