ae pessoa estou tentando trocar um programa que eu tenho em matlab pra c, mas estou encontrado vários problemas, e o que mais está roubando o meu tempo é esse segmetation fault. já li aguns tópicos aqui no forum, mas não consegui resolver o meu problema.
#include <stdio.h>
#include "lfixo.h"
extern int a,n;
extern float nad[7];
float Tgl0 = 580;
float Tr0 = 590;
void ci(float Tgl[ 100][n],float Ts[ 100][n],float Tr[ 100][n],float Ccos[ 100][n],float Ccol[ 100][n],float Ccog[ 100][n], float CH2s[ 100][n],float CH2l[ 100][n],float CH2g[ 100][n],float Ctoll[ 100][n],float Ctols[ 100][n])
{
int i,j,k;
for(k=0;k<=a;++k)
{for(j=0;j<=n;++j)
{
// inicialização das temperaturas
Tgl[k][j]=Tgl0; //condições iniciais de temperatura na fase fluida
Ts[k][j]=Tgl0; //condições iniciais de temperatura na fase sólida
Tr[k][j]=Tr0; //condições iniciais de temperatura na fluido refrigerante
// incialização das concentrações
Ccos[k][j]=0;
Ccol[k][j]=0;
Ccog[k][j]=0;
CH2s[k][j]=0;
CH2l[k][j]=0;
CH2g[k][j]=0;
Ctols[k][j]=0;
Ctoll[k][j]=0;
}
}
Ctoll[0][0]=1;
}
pra valores de a ou n maiores que 4, eu obtenho um segmetation fault... e ai, aguel tem alguma ideia
Pergunta
Rony melo
ae pessoa estou tentando trocar um programa que eu tenho em matlab pra c, mas estou encontrado vários problemas, e o que mais está roubando o meu tempo é esse segmetation fault. já li aguns tópicos aqui no forum, mas não consegui resolver o meu problema.
aqui está o programa principal
#include <stdio.h> #include "lfixo.h" int n; const int a=4; float nad[7]; void main(void) { float Tgl[ 100][n],Ts[ 100][n],Tr[ 100][n],Ccos[ 100][n],Ccol[ 100][n],Ccog[ 100][n]; float CH2s[ 100][n],CH2l[ 100][n],CH2g[ 100][n],Ctoll[ 100][n],Ctols[ 100][n]; d 100dos(); ci(Tgl,Ts,Tr,Ccos,Ccol,Ccog,CH2s,CH2g,CH2l,Ctoll,Ctols); }e aqui a minha função#include <stdio.h> #include "lfixo.h" extern int a,n; extern float nad[7]; float Tgl0 = 580; float Tr0 = 590; void ci(float Tgl[ 100][n],float Ts[ 100][n],float Tr[ 100][n],float Ccos[ 100][n],float Ccol[ 100][n],float Ccog[ 100][n], float CH2s[ 100][n],float CH2l[ 100][n],float CH2g[ 100][n],float Ctoll[ 100][n],float Ctols[ 100][n]) { int i,j,k; for(k=0;k<=a;++k) {for(j=0;j<=n;++j) { // inicialização das temperaturas Tgl[k][j]=Tgl0; //condições iniciais de temperatura na fase fluida Ts[k][j]=Tgl0; //condições iniciais de temperatura na fase sólida Tr[k][j]=Tr0; //condições iniciais de temperatura na fluido refrigerante // incialização das concentrações Ccos[k][j]=0; Ccol[k][j]=0; Ccog[k][j]=0; CH2s[k][j]=0; CH2l[k][j]=0; CH2g[k][j]=0; Ctols[k][j]=0; Ctoll[k][j]=0; } } Ctoll[0][0]=1; } pra valores de a ou n maiores que 4, eu obtenho um segmetation fault... e ai, aguel tem alguma ideiaEditado por Rony meloLink para o comentário
Compartilhar em outros sites
6 respostass 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.