As arrays servem para armazenar dados do mesmo tipo, em sequência.
São parecidas com as listas de Python.
Declaração
Para criar uma array sem nenhuns valores iniciais (declarar), temos de especificar o seu tamanho.
int arr[5];
Isto criou a array com 5 lugares vazios.
O tamanho especificado tem que ser uma constante, ou seja não é possível escrever
int arr[n];
O tamanho da array não pode ser mudado de forma fácil. Para isso, é melhor usar o vector, uma "array" mais potente, que falarei futuramente.
Inicialização
Podemos atribuir valores logo na declaração.
Para isso, à direita da declaração da array, colocamos um igual (=) e entre { } os elementos, separados por vírgulas.
int arr[5] = {2, 3, 6, 1, 9};
Se especificarmos o tamanho, temos de colocar o mesmo número ou menos elementos que o tamanho. Se colocarmos menos, o resto, quando é uma array de inteiros, vai ser 0.
Também podemos não especificar o tamanho, e o número de elementos que colocarmos vai ser o tamanho.
int arr[] = {2, 3, 6, 1};
Acessar um elemento
O índice de cada elemento é 1 a menos que a sua posição.
Isto é, o primeiro elemento é o 0, segundo elemento é o 1 e o terceiro elemento é o 2.
Para acessar um elemento, escrevemos o nome da array e o índice entre [ ].
cout << arr[2] << endl;
Ou seja, para mudar o valor de um elemento fazemos
arr[1] = 5;
E todas as outras operações que se podem fazer com uma variável int normal.
Porquê a array
Cada elemento funciona então como uma variável, aliás, ter uma array é essencialmente ter várias variáveis com o mesmo nome mas cada uma tem um número diferente.
Imaginem que temos várias notas de 0 a 20. Em vez de escrevermos
float nota1 = 12.5; float nota2 = 18.9; float nota3 = 14.6;
Escrevemos
float notas[3] {12.5, 18.9, 14.6};
Tanto poupamos tempo a inicializar, como também é mais fácil modificar e adicionar novos valores.
Claro que nesta não podemos adicionar mais valores durante o programa, mas se tivessemos inicializado com, digamos tamanho 100, podiamos adicionar mais ao longo do tempo, talvez com input do utilizador.
Sem a array, isto seria impossível.
Uso do for loop com a array
Costuma-se usar muito o for loop para fazer uma mesma operação com todos os elementos da array.
Digamos que se quer adicionar 1 a todos os elementos de uma array int.
int elements[5] = {1, 2, 3, 4, 5}; for(int i = 0; i < 5; i++){ elements[i]++; }
Programa exemplo
#include <iostream> using namespace std; int main() { string finalName; string names[3]; cout << "Enter 3 names:" << endl; for(int i = 0; i < 3; i++){ cin >> names[i]; finalName += names[i]; } cout << finalName << endl; }
Este programa pede um nome ao utilizador 3 vezes, depois faz print dos 3 nomes juntos.
Para isto, temos uma array vazia de nomes, e um for loop de 3 ciclos.
Dentro dele temos um "cin" que pede input em cada elemento, o de índice 0, 1, e 2 (1º, 2º, 3º).
Depois, como foi atribuído um valor aos elementos da array, adicionam-se à string finalName, a qual é feita print no final.
Se os nomes forem "Oh", "My" e "God" (escritos separados por espaço ou Enters), na consola vai estar:
Enter 3 names: Oh My God OhMyGod
Referências - 30/11/2019
Muito bem explicado! Agora devias ir ver a minha publicação de listas para compararmos: http://aebenficaonline.blogspot.com/2019/12/python-listas-parte-1.html
ResponderEliminar