Tableaux C ++ (avec des exemples)

Dans ce tutoriel, nous allons apprendre à travailler avec des tableaux. Nous allons apprendre à 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 ayons besoin de stocker les notes de chacun d'entre eux. Au lieu de créer 27 variables distinctes, nous pouvons simplement créer un tableau:

 double grade(27);

Ici, grade est un tableau qui peut contenir un maximum de 27 éléments de doubletype.

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

Éléments d'accès dans un tableau C ++

En C ++, chaque élément d'un tableau est associé à un nombre. Le nombre est appelé index 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 que nous avons vu ci-dessus.

Éléments d'un tableau en C ++

Peu de 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)soit 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. Cela est dû au fait que la taille de intest de 4 octets.

Initialisation de la baie 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);
Éléments de tableau C ++ et leurs données

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 des 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 emplacements restants. Souvent, cette valeur aléatoire est simplement 0.

Les membres vides du tableau reçoivent automatiquement la valeur 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(i-1);

Exemple 1: affichage des éléments du tableau

 #include 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 << "The numbers are: "; // Printing array elements // using traditional for loop for (int i = 0; i < 5; ++i) ( cout << numbers(i) << " "; ) return 0; )

Production

 Les chiffres sont: 7 5 6 12 35 Les chiffres sont: 7 5 6 12 35

Ici, nous avons utilisé une forboucle pour itérer de i = 0à i = 4. À chaque itération, nous avons imprimé numbers(i).

Nous avons à nouveau utilisé une boucle basée sur une plage pour afficher 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 &nau lieu de int ncomme déclaration de plage. Cependant, le const int &nest plus préféré car:

  1. L'utilisation int ncopie simplement les éléments du tableau dans la variable n à chaque itération. Ce n'est pas une mémoire efficace.
    & 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. C'est une mémoire efficace.
  2. Nous imprimons simplement les éléments du tableau, sans les modifier. Par conséquent, nous utilisons constpour ne pas modifier accidentellement les valeurs du tableau.

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

 #include using namespace std; int main() ( int numbers(5); cout << "Enter 5 numbers: " << endl; // store input from user to array for (int i = 0; i > numbers(i); ) cout << "The numbers are: "; // print array elements for (int n = 0; n < 5; ++n) ( cout << numbers(n) << " "; ) return 0; )

Production

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

Once again, we have used a for loop to iterate from i = 0 to i = 4. In each iteration, we took an input from the user and stored it in numbers(i).

Then, we used another for loop to print all the array elements.

Example 3: Display Sum and Average of Array Elements Using for Loop

 #include 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 << "Their Sum = " << sum << endl; // find the average average = sum / count; cout << "Their Average = " << average << endl; return 0; )

Output

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

In this program:

  1. We have initialized a double array named numbers but without specifying its size. We also declared three double variables sum, count, and average.
    Here, sum =0 and count = 0.
  2. Then we used a range based for loop to print the array elements. In each iteration of the loop, we add the current array element to sum.
  3. Nous augmentons également la valeur de count de 1à chaque itération, afin de pouvoir 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 paraverage = sum / count;

Remarque: nous avons utilisé une forboucle à distance au lieu d'une forboucle normale .

Une forboucle normale nous oblige à spécifier le nombre d'itérations, qui est donné par la taille du tableau.

Mais une forboucle à distance 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.

Articles intéressants...