Ir ao conteúdo

Posts recomendados

Postado

Olá, estou fazendo um exercício em c , e nãoo sei porque a função esta dando falha de segmentação.

 

 

void preencher (int vetS[],int vetB[],int vetM[],int n ){
  int i,e,a;
 
  //Criando os vetores;
  puts("Insira o numero de elementos no vetor" );
  scanf("%i",&n);
  vetS =(int *) malloc((n+1)*sizeof(int));
  vetM =(int *) malloc((n+1)*sizeof(int));
  vetB =(int *) malloc((n+1)*sizeof(int));

  //prenchendo os vetores com numeros aleatorios
  puts("digite : \n1 - Para gerar entre 0 e 9\n2 - para gerar valores entre 0 e 99\n3 - para gerar valores entre 0 e 999");
  scanf("%i",&e);
  while ( (e > 3) || (e <= 0) ){
  puts("Favor digitar um numero entre 1 e 3");
  scanf("%i",&e);    
  }

 

  if( e == 3)
   for (i = 1;i <= n;i++){
    a = rand () %1000;
    printf("%i\n",a );
    vetS = a;
    vetB = a;
    vetM = a;
   }
 else if(e == 2)
  for (i = 1;i <= n;i++){
   a = rand () %100;
   vetS = a;
   vetB = a;
   vetM = a;
  }

 else
  for (i = 1;i <= n;i++)
  {
   a = rand () %100;
   vetS = a;
   vetB = a;
   vetM = a;
  }    
}

Postado

@Matheus Dionysio No ultimo não seria: 
   a = rand () %10;

 

Por que não começa com for(i=0; ...

 

Lembre-se você usou n+1 para alocar, mas n ainda continua sendo n < (n+1) 

 

Tenta verificar qual parte do código apresenta esse erro, use um printf antes da alocação e um depois...

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!