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.
Question
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 to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.