Linguagem C
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.


Dicas de linguagem C
 
InícioPortalÚltimas imagensProcurarRegistrarEntrar

 

 Dúvida com inversão de arrays

Ir para baixo 
3 participantes
AutorMensagem
Luug




Mensagens : 1
Data de inscrição : 28/05/2012

Dúvida com inversão de arrays Empty
MensagemAssunto: Dúvida com inversão de arrays   Dúvida com inversão de arrays EmptySeg maio 28, 2012 6:45 pm

Pessoal, alguém pode me dizer o que há de errado neste meu código? A intenção era criar um programa que imprimisse um array digitado pelo usuário e inverter este mesmo array, utilizando uma função iterativa e outra recursiva. A primórdio, o código que segue só tem a função iterativa. Smile

#include <locale.h>
#include <stdio.h>
#include <stdlib.h>

#define TAM 100

void inverte_array_iter(int entrada[], int primeira_posicao, int ultima_posicao);

int main(){
int i, k, elemento, numero, array[numero], auxiliar;
setlocale(LC_ALL,"portuguese");

printf("Insira o número de elementos do Array:\n");
scanf("%d", & numero);

while (numero > TAM){
printf("O Array pode ter no máximo 100 elementos.\n"
"Insira novamente o número de elementos.\n");
scanf("%d", & numero);}
for(i = 0; i < numero ; i++){
printf("Insira os elementos do Array:\n");
scanf("%d", & elemento);
array[i] = elemento;}

printf("%s%13s\n", "Posição", "Elemento");
for (i = 0; i < numero ; i++){
printf("%7d%13d\n", i, array[i]);}

inverte_array_iter(numero, 0, k);
printf("%s%13s\n", "Posição", "Elemento");
printf("%s%13s\n", k, array[k]);

system("pause");
return 0;}

void inverte_array_iter(int entrada[], int primeira_posicao, int ultima_posicao){
int j;
primeira_posicao = 0;
for( j = ultima_posicao; j > primeira_posicao; --j){
printf("%7d%13d\n", j, entrada[j]);
}}

Espero a ajuda de vocês, obrigada pela atenção. Smile
Ir para o topo Ir para baixo
jparamuni




Mensagens : 1
Data de inscrição : 31/08/2012

Dúvida com inversão de arrays Empty
MensagemAssunto: programandoemc.hd1.com.br   Dúvida com inversão de arrays EmptySex Ago 31, 2012 8:18 pm

programandoemc.hd1.com.br
Ir para o topo Ir para baixo
sheilong




Mensagens : 6
Data de inscrição : 04/09/2013

Dúvida com inversão de arrays Empty
MensagemAssunto: Re: Dúvida com inversão de arrays   Dúvida com inversão de arrays EmptyTer Ago 26, 2014 10:58 pm

O compilador precisa saber qual o tamanho que você deseja para armazenar espaço para o array de ints, e você tenta alocar ele dinamicamente de forma errada.
Uma variavel que nao tem um valor atribuído a ela pode conter qualquer valor. No seu programa o que acontece. O compilador aloca qualquer tamanho que n contenha e esse valor não é conhecido por isso vocẽ pode acessar areas da memoria que não estão alocadas causando o famoso segmentation fault. Recomendo escolher um tamanho fixo para o array, mas se você quiser alocar dinamicamente aconselho dar uma lida sobre malloc.

Ir para o topo Ir para baixo
Conteúdo patrocinado





Dúvida com inversão de arrays Empty
MensagemAssunto: Re: Dúvida com inversão de arrays   Dúvida com inversão de arrays Empty

Ir para o topo Ir para baixo
 
Dúvida com inversão de arrays
Ir para o topo 
Página 1 de 1
 Tópicos semelhantes
-
» Duvida - BitWise
» Dúvida na construção de um mini compilador

Permissões neste sub-fórumNão podes responder a tópicos
Linguagem C :: Sua primeira categoria :: Seu primeiro fórum-
Ir para: