Seguinte, estou escrevendo um programa em C cujo objetivo é resolver sistemas de matrizes esparsas. Sendo assim, preciso resolver sistemas com matrizes bem grandes, com cerca de 300 linhas e 200 colunas, mas apenas cerca de 2000 elementos não neutros (por sua esparsidade).
Mas o problema é o seguinte. Para matrizes não tão grandes, com até 300 elementos não nulos, meu programa funciona perfeitamente. Eu declaro todos os vetores com um #define valendo 300 e tudo funciona normalmente. NO ENTANTO, quando eu preciso de armazenar os tais 2000 elementos em um vetor eu uso um define maior que 2000 e meu programa sequer executa. Como o algoritmo usado deve ser exatamente o mesmo do usado com a matriz pequena (ou seja, não há erro no algoritmo) eu comecei a pensar que o problema estava na declaração de vetores muito grandes. Fui ver com o meu professor e ele me perguntou se eu tinha tentado aumentar o STACK SIZE do meu compilador. Eu não sei do que se trata. Se alguém souber algo relacionado a esse meu problema ou souber como aumentar esse tal stack size, ficarei muito grato. Ah, o compilador que eu uso é o Code Blocks.
Pergunta
pedrohacastro
Olá!
Seguinte, estou escrevendo um programa em C cujo objetivo é resolver sistemas de matrizes esparsas. Sendo assim, preciso resolver sistemas com matrizes bem grandes, com cerca de 300 linhas e 200 colunas, mas apenas cerca de 2000 elementos não neutros (por sua esparsidade).
Mas o problema é o seguinte. Para matrizes não tão grandes, com até 300 elementos não nulos, meu programa funciona perfeitamente. Eu declaro todos os vetores com um #define valendo 300 e tudo funciona normalmente. NO ENTANTO, quando eu preciso de armazenar os tais 2000 elementos em um vetor eu uso um define maior que 2000 e meu programa sequer executa. Como o algoritmo usado deve ser exatamente o mesmo do usado com a matriz pequena (ou seja, não há erro no algoritmo) eu comecei a pensar que o problema estava na declaração de vetores muito grandes. Fui ver com o meu professor e ele me perguntou se eu tinha tentado aumentar o STACK SIZE do meu compilador. Eu não sei do que se trata. Se alguém souber algo relacionado a esse meu problema ou souber como aumentar esse tal stack size, ficarei muito grato. Ah, o compilador que eu uso é o Code Blocks.
Desde já, obrigado!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.