Matrizes C ++
C ++ fornece uma estrutura de dados, the array, que armazena uma coleção sequencial de tamanho fixo de elementos do mesmo tipo. Uma matriz é usada para armazenar uma coleção de dados, mas geralmente é mais útil pensar em uma matriz como uma coleção de variáveis do mesmo tipo.
Em vez de declarar variáveis individuais, como número0, número1, ... e número99, você declara uma variável de matriz, como números e usa números [0], números [1] e ..., números [99] para representar variáveis individuais. Um elemento específico em uma matriz é acessado por um índice.
Todas as matrizes consistem em locais de memória contíguos. O endereço mais baixo corresponde ao primeiro elemento e o endereço mais alto ao último elemento.
Declaração de matrizes
Para declarar uma matriz em C ++, o programador especifica o tipo dos elementos e o número de elementos exigidos por uma matriz da seguinte maneira -
type arrayName [ arraySize ];
Isso é chamado de matriz de dimensão única. oarraySize deve ser uma constante inteira maior que zero e typepode ser qualquer tipo de dados C ++ válido. Por exemplo, para declarar uma matriz de 10 elementos chamada balance do tipo double, use esta instrução -
double balance[10];
Inicializando matrizes
Você pode inicializar os elementos da matriz C ++ um por um ou usando uma única instrução da seguinte maneira -
double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0};
O número de valores entre colchetes {} não pode ser maior do que o número de elementos que declaramos para a matriz entre colchetes []. A seguir está um exemplo para atribuir um único elemento da matriz -
Se você omitir o tamanho do array, um array grande o suficiente para conter a inicialização é criado. Portanto, se você escrever -
double balance[] = {1000.0, 2.0, 3.4, 17.0, 50.0};
Você criará exatamente o mesmo array que fez no exemplo anterior.
balance[4] = 50.0;
O acima cessionários instrução número elemento 5 th na matriz um valor de 50,0. O array com o 4º índice será o 5º , ou seja, o último elemento porque todos os arrays têm 0 como índice do primeiro elemento, também chamado de índice base. A seguir está a representação pictórica da mesma matriz que discutimos acima -
Acessando Elementos de Matriz
Um elemento é acessado indexando o nome da matriz. Isso é feito colocando o índice do elemento entre colchetes após o nome da matriz. Por exemplo -
double salary = balance[9];
A declaração acima levará 10 th elemento da matriz e atribuir o valor a variável salário. A seguir está um exemplo, que usará todos os três conceitos acima mencionados viz. declaração, atribuição e acesso a matrizes -
#include <iostream>
using namespace std;
#include <iomanip>
using std::setw;
int main () {
int n[ 10 ]; // n is an array of 10 integers
// initialize elements of array n to 0
for ( int i = 0; i < 10; i++ ) {
n[ i ] = i + 100; // set element at location i to i + 100
}
cout << "Element" << setw( 13 ) << "Value" << endl;
// output each array element's value
for ( int j = 0; j < 10; j++ ) {
cout << setw( 7 )<< j << setw( 13 ) << n[ j ] << endl;
}
return 0;
}
Este programa faz uso de setw()função para formatar a saída. Quando o código acima é compilado e executado, ele produz o seguinte resultado -
Element Value
0 100
1 101
2 102
3 103
4 104
5 105
6 106
7 107
8 108
9 109
Matrizes em C ++
Os arrays são importantes para C ++ e precisam de muito mais detalhes. Seguem alguns conceitos importantes, que devem ser claros para um programador C ++ -
Sr. Não | Conceito e descrição |
---|---|
1 | Matrizes multidimensionais C ++ oferece suporte a matrizes multidimensionais. A forma mais simples do array multidimensional é o array bidimensional. |
2 | Ponteiro para uma matriz Você pode gerar um ponteiro para o primeiro elemento de uma matriz simplesmente especificando o nome da matriz, sem nenhum índice. |
3 | Passando matrizes para funções Você pode passar para a função um ponteiro para uma matriz, especificando o nome da matriz sem um índice. |
4 | Retorna array de funções C ++ permite que uma função retorne um array. |