Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Tableaux C++

Tableaux C++

Dans ce tutoriel, nous allons apprendre à travailler avec des tableaux. Nous apprendrons à déclarer, initialiser et accéder aux éléments de tableau en programmation C++ à l'aide d'exemples.

En C++, un tableau est une variable qui peut stocker plusieurs valeurs du même type. Par exemple,

Supposons qu'une classe compte 27 élèves et que nous devions stocker les notes de chacun d'eux. Au lieu de créer 27 variables distinctes, nous pouvons simplement créer un tableau :

double grade[27];

Ici, note est un tableau pouvant contenir un maximum de 27 éléments de double saisir.

En C++, la taille et le type des tableaux ne peuvent pas être modifiés après sa déclaration.

Déclaration de tableau C++

dataType arrayName[arraySize];

Par exemple,

int x[6];

Ici,

  • int - type d'élément à stocker
  • x - nom du tableau
  • 6 - taille du tableau

Accéder aux éléments dans le tableau C++

En C++, chaque élément d'un tableau est associé à un nombre. Le nombre est connu sous le nom d'indice de tableau. Nous pouvons accéder aux éléments d'un tableau en utilisant ces indices.

// syntax to access array elements
array[index];

Considérez le tableau x nous avons vu ci-dessus.

Quelques choses à retenir :

  • Les indices du tableau commencent par 0 . Signification x[0] est le premier élément stocké à l'index 0 .
  • Si la taille d'un tableau est n , le dernier élément est stocké à l'index (n-1) . Dans cet exemple, x[5] est le dernier élément.
  • Les éléments d'un tableau ont des adresses consécutives. Par exemple, supposons que l'adresse de départ de x[0] est 2120d. Ensuite, l'adresse de l'élément suivant x[1] sera 2124d, l'adresse de x[2] sera 2128d et ainsi de suite.

    Ici, la taille de chaque élément est augmentée de 4. C'est parce que la taille de int est de 4 octets.

Initialisation de tableau C++

En C++, il est possible d'initialiser un tableau lors de la déclaration. Par exemple,

// declare and initialize and array
int x[6] = {19, 10, 8, 17, 9, 15};

Une autre méthode pour initialiser le tableau lors de la déclaration :

// declare and initialize an array
int x[] = {19, 10, 8, 17, 9, 15};

Ici, nous n'avons pas mentionné la taille du tableau. Dans de tels cas, le compilateur calcule automatiquement la taille.

Tableau C++ avec membres vides

En C++, si un tableau a une taille n , nous pouvons stocker jusqu'à n nombre d'éléments dans le tableau. Cependant, que se passera-t-il si nous stockons moins de n nombre d'éléments.

Par exemple,

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

Ici, le tableau x a une taille de 6 . Cependant, nous l'avons initialisé avec seulement 3 éléments.

Dans de tels cas, le compilateur attribue des valeurs aléatoires aux places restantes. Souvent, cette valeur aléatoire est simplement 0 .

Comment insérer et imprimer des éléments de tableau ?

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];

Exemple 1 :Affichage des éléments d'un tableau

#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;
}

Sortie

The numbers are: 7  5  6  12  35
The numbers are: 7  5  6  12  35

Ici, nous avons utilisé un for boucle pour itérer à partir de i = 0 à i = 4 . Dans chaque itération, nous avons imprimé numbers[i] .

Nous avons de nouveau utilisé une boucle for basée sur une plage pour imprimer les éléments du tableau. Pour en savoir plus sur cette boucle, consultez C++ Ranged for Loop.

Remarque : Dans notre boucle basée sur la plage, nous avons utilisé le code const int &n au lieu de int n comme déclaration de plage. Cependant, le const int &n est préférable car :

  1. Utiliser int n copie simplement les éléments du tableau dans la variable n lors de chaque itération. Ce n'est pas efficace en mémoire.

    &n , cependant, utilise l'adresse mémoire des éléments du tableau pour accéder à leurs données sans les copier dans une nouvelle variable. Ceci est économe en mémoire.
  2. Nous imprimons simplement les éléments du tableau, sans les modifier. Par conséquent, nous utilisons const afin de ne pas modifier accidentellement les valeurs du tableau.

Exemple 2 :Prendre les entrées de l'utilisateur et les stocker dans un tableau

#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;
}

Sortie

Enter 5 numbers: 
11
12
13
14
15
The numbers are: 11  12  13  14  15

Encore une fois, nous avons utilisé un for boucle pour itérer à partir de i = 0 à i = 4 . À chaque itération, nous avons pris une entrée de l'utilisateur et l'avons stockée dans numbers[i] .

Ensuite, nous avons utilisé un autre for boucle pour imprimer tous les éléments du tableau.

Exemple 3 :Afficher la somme et la moyenne des éléments du tableau à l'aide de la boucle for

#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;
}

Sortie

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

Dans ce programme :

  1. Nous avons initialisé un double tableau nommé nombres mais sans préciser sa taille. Nous avons également déclaré trois variables doubles sum , compter , et moyenne .

    Ici, sum =0 et count = 0 .
  2. Ensuite, nous avons utilisé une plage basée sur for boucle pour imprimer les éléments du tableau. À chaque itération de la boucle, nous ajoutons l'élément de tableau actuel à sum .
  3. Nous augmentons également la valeur de count par 1 à chaque itération, afin que nous puissions obtenir la taille du tableau à la fin de la boucle for.
  4. Après avoir imprimé tous les éléments, nous imprimons la somme et la moyenne de tous les nombres. La moyenne des nombres est donnée par average = sum / count;

Remarque : Nous avons utilisé une plage for boucle au lieu d'un for normal boucle.

Un for normal boucle nous oblige à spécifier le nombre d'itérations, qui est donné par la taille du tableau.

Mais une plage for boucle ne nécessite pas de telles spécifications.

Tableau C++ hors limites

Si nous déclarons un tableau de taille 10, alors le tableau contiendra des éléments d'index 0 à 9.

Cependant, si nous essayons d'accéder à l'élément à l'index 10 ou supérieur à 10, cela entraînera un comportement indéfini.


Langue C

  1. Tableaux C#
  2. Tableau Jagged C #
  3. Opérateurs C++
  4. Commentaires C++
  5. Passage d'un tableau à une fonction en programmation C++
  6. Tableaux de copie Java
  7. Tableaux en C++ | Déclarer | Initialiser | Pointeur vers des exemples de tableaux
  8. Allocation dynamique C++ de tableaux avec exemple
  9. MATLAB - Tableaux