Estou fazendo um programa e funciona quando a variavel tamanho_pop é pequena. Só que eu preciso que essa variavel seja igual a 200. Quando eu aumento o tamanho dela aparece a mensagem falha de segmentação. Como o meu programa é um pouco grande e para teste eu copiei a declaração de variavel para outro programa e nesse programa só tem comandos para escrever na tela.
Será que alguém pode me ajudar? Talvez haja uma forma mais inteligente de declarar essas variaveis. Mas como? Estou aprendendo C a alguns meses.
Ah, eu rodo o programa no Ubuntu e pelo gcc.
Obrigada desde já
Att
Angélica
/* Programa para ler os dados de um pdb e colocar em um struct */
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <ctype.h>
main()
{
// ------------------------- Declaração das variáveis ----------------------------------
FILE *entrada1, *saida;
int i,j,l,n,m,a,b,c,p,posicao,numero_aa,w;
char lixo[10]; //Variável para colocar todos os dados não-interessantes
char string[10]; //Variável para colocar dados do tipo string que será transformado em int ou double
char atomo[10],aminoacido[10],cadeia[5],concatena[5];
double x, y, z;
float xf, yf, zf;
// ******** Struct Básico **********
struct PDB { //Este é o meu struct ou estrutura
int posicao;
char atomo[10];
char aminoacido[10];
char cadeia[5];
int numero_aa;
double x, y, z;
};
// ******* Struct do Backbone e da Cadeia Lateral que não pertence ao sítio ativo **********
struct PDB fixo[4000]; //10000
// ******* Struct do Sítio Ativo **********
struct PDB sitio_ativo[4000]; //10000
// ******* Struct do Rotâmero **********
struct PDB atomos[100]; //1000
struct PDB1 {
struct PDB atomos[100]; //1000
char residuo_aa[10];
char cadeia_aa[5];
int posicao_aa;
int rotamero_ativo;
int n_atomos;
};
struct PDB1 cromossomo[30]; //100
int tamanho_pop;
tamanho_pop=40;
struct ind {struct PDB1 cromossomo[30]};
struct ind individuo[tamanho_pop];
char nome_arquivo[80],string1[5],string2[5],nome1[30],nome2[5];
FILE *funciona;
for (i=1;i<1000000;i++)
printf ("i = %i\n",i);
printf("\nteste\n");
// -------------------------- FIM Da Declaração de variáveis ---------------------------------
}
Pergunta
Angelica N
Olá
Estou fazendo um programa e funciona quando a variavel tamanho_pop é pequena. Só que eu preciso que essa variavel seja igual a 200. Quando eu aumento o tamanho dela aparece a mensagem falha de segmentação. Como o meu programa é um pouco grande e para teste eu copiei a declaração de variavel para outro programa e nesse programa só tem comandos para escrever na tela.
Será que alguém pode me ajudar? Talvez haja uma forma mais inteligente de declarar essas variaveis. Mas como? Estou aprendendo C a alguns meses.
Ah, eu rodo o programa no Ubuntu e pelo gcc.
Obrigada desde já
Att
Angélica
Editado por Angelica NLink para o comentário
Compartilhar em outros sites
4 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.