Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

Matrizes C++

Matrizes C++


Neste tutorial, aprenderemos a trabalhar com arrays. Aprenderemos a declarar, inicializar e acessar elementos de array na programação C++ com a ajuda de exemplos.

Em C++, um array é uma variável que pode armazenar vários valores do mesmo tipo. Por exemplo,

Suponha que uma turma tenha 27 alunos e precisemos armazenar as notas de todos eles. Em vez de criar 27 variáveis ​​separadas, podemos simplesmente criar um array:

double grade[27];

Aqui, nota é um array que pode conter no máximo 27 elementos de double modelo.

Em C++, o tamanho e o tipo dos arrays não podem ser alterados após sua declaração.

Declaração de matriz C++

dataType arrayName[arraySize];

Por exemplo,
int x[6];

Aqui,

Acessar elementos na matriz C++


Em C++, cada elemento em uma matriz está associado a um número. O número é conhecido como índice de matriz. Podemos acessar elementos de um array usando esses índices.
// syntax to access array elements
array[index];

Considere a matriz x vimos acima.

Algumas coisas para lembrar:

  • Os índices de matriz começam com 0 . Significado x[0] é o primeiro elemento armazenado no índice 0 .
  • Se o tamanho de uma matriz for n , o último elemento é armazenado no índice (n-1) . Neste exemplo, x[5] é o último elemento.
  • Os elementos de um array possuem endereços consecutivos. Por exemplo, suponha que o endereço inicial de x[0] é 2120d. Em seguida, o endereço do próximo elemento x[1] será 2124d, o endereço de x[2] será 2128d e assim por diante.

    Aqui, o tamanho de cada elemento é aumentado em 4. Isso ocorre porque o tamanho de int é de 4 bytes.

Inicialização de matriz C++


Em C++, é possível inicializar um array durante a declaração. Por exemplo,
// declare and initialize and array
int x[6] = {19, 10, 8, 17, 9, 15};

Outro método para inicializar o array durante a declaração:
// declare and initialize an array
int x[] = {19, 10, 8, 17, 9, 15};

Aqui, não mencionamos o tamanho da matriz. Nesses casos, o compilador calcula automaticamente o tamanho.

Matriz C++ com membros vazios


Em C++, se um array tiver um tamanho n , podemos armazenar até n número de elementos no array. No entanto, o que acontecerá se armazenarmos menos de n número de elementos.

Por exemplo,
// store only 3 elements in the array
int x[6] = {19, 10, 8};

Aqui, a matriz x tem um tamanho de 6 . No entanto, inicializamos com apenas 3 elementos.

Nesses casos, o compilador atribui valores aleatórios aos locais restantes. Muitas vezes, esse valor aleatório é simplesmente 0 .

Como inserir e imprimir elementos de matriz?

int mark[5] = {19, 10, 8, 17, 9}

// change 4th element to 9
mark[3] = 9;

// take input from the user
// store the value at third position
cin >> mark[2];


// take input from the user
// insert at ith position
cin >> mark[i-1];

// print first element of the array
cout << mark[0];

// print ith element of the array
cout >> mark[i-1];

Exemplo 1:Exibindo elementos de matriz

#include <iostream>
using namespace std;

int main() {
    int numbers[5] = {7, 5, 6, 12, 35};

    cout << "The numbers are: ";

    //  Printing array elements
    // using range based for loop
    for (const int &n : numbers) {
        cout << n << "  ";
    }


    cout << "\nThe numbers are: ";

    //  Printing array elements
    // using traditional for loop
    for (int i = 0; i < 5; ++i) {
        cout << numbers[i] << "  ";
    }

    return 0;
}

Saída
The numbers are: 7  5  6  12  35
The numbers are: 7  5  6  12  35

Aqui, usamos um for loop para iterar de i = 0 para i = 4 . Em cada iteração, imprimimos numbers[i] .



Usamos novamente um loop for baseado em intervalo para imprimir os elementos do array. Para saber mais sobre esse loop, consulte C++ Ranged for Loop.

Observação: Em nosso loop baseado em intervalo, usamos o código const int &n em vez de int n como a declaração de intervalo. No entanto, o const int &n é mais preferido porque:
  1. Usando int n simplesmente copia os elementos do array para a variável n durante cada iteração. Isso não é eficiente em termos de memória.

    &n , no entanto, usa o endereço de memória dos elementos do array para acessar seus dados sem copiá-los para uma nova variável. Isso é eficiente em termos de memória.
  2. Estamos simplesmente imprimindo os elementos do array, não os modificando. Portanto, usamos const para não alterar acidentalmente os valores do array.

Exemplo 2:obtenha entradas do usuário e armazene-as em uma matriz

#include <iostream>
using namespace std;

int main() {
    int numbers[5];

    cout << "Enter 5 numbers: " << endl;

    //  store input from user to array
    for (int i = 0; i < 5; ++i) {
        cin >> numbers[i];
    }

    cout << "The numbers are: ";

    //  print array elements
    for (int n = 0; n < 5; ++n) {
        cout << numbers[n] << "  ";
    }

    return 0;
}

Saída
Enter 5 numbers: 
11
12
13
14
15
The numbers are: 11  12  13  14  15

Mais uma vez, usamos um for loop para iterar de i = 0 para i = 4 . Em cada iteração, pegamos uma entrada do usuário e a armazenamos em numbers[i] .

Em seguida, usamos outro for loop para imprimir todos os elementos do array.

Exemplo 3:Exibir soma e média de elementos de matriz usando for Loop

#include <iostream>
using namespace std;

int main() {
    
    // initialize an array without specifying size
    double numbers[] = {7, 5, 6, 12, 35, 27};

    double sum = 0;
    double count = 0;
    double average;

    cout << "The numbers are: ";

    //  print array elements
    // use of range-based for loop
    for (const double &n : numbers) {
        cout << n << "  ";

        //  calculate the sum
        sum += n;

        // count the no. of array elements
        ++count;
    }

    // print the sum
    cout << "\nTheir Sum = " << sum << endl;

    // find the average
    average = sum / count;
    cout << "Their Average = " << average << endl;

    return 0;
}

Saída
The numbers are: 7  5  6  12  35  27
Their Sum = 92
Their Average = 15.3333

Neste programa:
  1. Iniciamos um double array chamado números mas sem especificar seu tamanho. Também declaramos três variáveis ​​duplas sum , contagem , e média .

    Aqui, sum =0 e count = 0 .
  2. Em seguida, usamos um for baseado em intervalo loop para imprimir os elementos do array. Em cada iteração do loop, adicionamos o elemento atual do array a sum .
  3. Também aumentamos o valor de count por 1 em cada iteração, para que possamos obter o tamanho do array até o final do loop for.
  4. Depois de imprimir todos os elementos, imprimimos a soma e a média de todos os números. A média dos números é dada por average = sum / count;

Observação: Usamos um intervalo for loop em vez de um for normal ciclo.

Um for normal loop exige que especifiquemos o número de iterações, que é dado pelo tamanho do array.

Mas um for variado loop não requer tais especificações.

Array C++ fora dos limites


Se declararmos um array de tamanho 10, o array conterá elementos do índice 0 a 9.

No entanto, se tentarmos acessar o elemento no índice 10 ou superior a 10, resultará em comportamento indefinido.

Linguagem C

  1. Matrizes C#
  2. Matriz multidimensional C#
  3. Matriz irregular em C#
  4. Operadores C++
  5. Comentários C++
  6. Passando array para uma função na programação C++
  7. Copiar Matrizes Java
  8. Matrizes em C++ | Declare | Inicializar | Ponteiro para exemplos de matriz
  9. Alocação dinâmica de matrizes em C++ com exemplo
  10. MATLAB - Matrizes