Implemente um programa em que obtenha do teclado o tamanho (inteiro) de um vetor, após isso aloque dinamicamente um array de com o tamanho obtido e então leia do teclado a os números digitados pelo usuário e armazene no novo vetor alocado. Exiba os valores contidos no array dinâmico.
Passo 1
Vamos nessa, galera.
Uma das vantagens dos arrays dinamicamente alocados é que podemos, de forma segura, pedir pro usuário escolher o tamanho das arrays. E essa questão quer que a gente use isso!
Então vamos lá, vamos começar com o cabeçalho do código:
E vamos precisar declarar duas variáveis. A primeira é a variável inteira que vai receber do usuário o tamanho do array que vamos criar. E a segunda é o ponteiro para floats , que vai ser o ponteiro que vamos usar para alocar a memória dinamicamente.
Passo 2
Primeiro de tudo, a gente precisa saber qual vai ser o tamanho da nossa array dinâmica. Então vamos perguntar pro usuário e guardar o valor na variável tamanho:
Passo 3
Beleza. Agora já temos um ponteiro e o tamanho, temos tudo que é preciso pra criar uma array dinâmica.
Lembre-se, pra criar uma array dinâmica a gente utiliza o operador para efetuar a alocação de memória, e guardar o endereço da memória alocada em um ponteiro, da seguinte forma:
No nosso código o ponteiro é o , o tipo é e o tamanho do array está contido na variável Então, o código fica assim:
E assim temos uma array alocada com sucesso!
A partir de agora o podemos utilizar os colchetes no ponteiro para acessar os elementos contidos na memória alocada dinamicamente.
Passo 4
Agora vamos pedir pro usuário preencher o vetor. Com o vamos imprimir uma mensagem pra informar ao usuário que ele deve preencher o vetor:
Para preencher o é igual a preencher um array comum, vamos usar um loop que a cada iteração solicita um valor para o usuário:
Na linha 18 nós iniciamos um loop , a quantidade de iterações vai ser igual ao tamanho do array dinâmico. Na linha 21 usamos o para guardar o valor inserido na posição do . Pra acessar essa posição é só a gente utilizar os colchetes .
Passo 5
O próximo passo é exibir o conteúdo do vetor. Lembre-se que um array dinâmico se comporta igual a um array comum. Então pra exibir os elementos de uma array é só usar um loop:
Na linha 25 imprimimos a mensagem “Exibindo o vetor: ” e saltamos uma linha. Nas linhas 26 a 28 criamos um loop que a cada iteração vai exibir a posição do e saltar uma linha.
Passo 6
Sempre que a gente trabalhar com alocação dinâmica de memória, no último passo sempre devemos liberar a memória.
Para liberar a memória vamos usar o operador para apagar o vetor dinâmico que criamos:
E prontinho! A questão está finalizada.