C ++ -taulukot (esimerkkien kanssa)

Tässä opetusohjelmassa opimme työskentelemään matriisien kanssa. Opimme julistamaan, alustamaan ja käyttämään taulukkoelementtejä C ++ - ohjelmoinnissa esimerkkien avulla.

C ++: ssa taulukko on muuttuja, joka voi tallentaa useita saman tyyppisiä arvoja. Esimerkiksi,

Oletetaan, että luokassa on 27 oppilasta, ja meidän on tallennettava heidän kaikkien arvosanat. 27 erillisen muuttujan luomisen sijaan voimme yksinkertaisesti luoda taulukon:

 double grade(27);

Tässä luokassa on taulukko, johon mahtuu enintään 27 tyyppielementtiä double.

C ++: ssa matriisien kokoa ja tyyppiä ei voida muuttaa sen ilmoituksen jälkeen.

C ++ -taulukkoilmoitus

 dataType arrayName(arraySize);

Esimerkiksi,

 int x(6);

Tässä,

  • int - tallennettavan elementin tyyppi
  • x - taulukon nimi
  • 6 - taulukon koko

Käytä elementtejä C ++ -taulukossa

C ++: ssa kukin matriisin elementti liittyy numeroon. Numero tunnetaan taulukkoindeksinä. Pääset matriisin elementteihin käyttämällä näitä indeksejä.

 // syntax to access array elements array(index);

Tarkastellaan taulukkoa x, jonka olemme nähneet yllä.

Matriisin elementit muodossa C ++

Muutama muistettava asia:

  • Taulukkoindeksit alkavat 0. Merkitys x (0) on ensimmäinen hakemistoon tallennettu elementti 0.
  • Jos matriisin koko on n, viimeinen elementti tallennetaan hakemistoon (n-1). Tässä esimerkissä x (5) on viimeinen elementti.
  • Matriisin elementeillä on peräkkäiset osoitteet. Oletetaan esimerkiksi, että kohteen aloitusosoite x(0)on 2120d. Sitten seuraavan elementin osoite x(1)on 2124d, osoitteen x(2)2128d ja niin edelleen.
    Tässä kunkin elementin kokoa kasvatetaan 4: llä. Tämä johtuu siitä, että koko inton 4 tavua.

C ++ - matriisin alustus

C ++: ssa on mahdollista alustaa taulukko ilmoituksen aikana. Esimerkiksi,

 // declare and initialize and array int x(6) = (19, 10, 8, 17, 9, 15);
C ++ matriisielementit ja niiden tiedot

Toinen tapa aloittaa taulukko ilmoituksen aikana:

 // declare and initialize an array int x() = (19, 10, 8, 17, 9, 15);

Täällä emme ole maininneet taulukon kokoa. Tällaisissa tapauksissa kääntäjä laskee koon automaattisesti.

C ++ -ryhmä tyhjien jäsenten kanssa

Jos taulukossa on kokoa C ++, nvoimme tallentaa enintään n elementtien määrää taulukkoon. Mitä tapahtuu, jos tallennamme vähemmän kuin n elementtien määrää.

Esimerkiksi,

 // store only 3 elements in the array int x(6) = (19, 10, 8);

Tässä taulukon x koko on 6. Olemme kuitenkin alustaneet sen vain 3 elementillä.

Tällaisissa tapauksissa kääntäjä määrittää satunnaiset arvot muille paikoille. Usein tämä satunnainen arvo on yksinkertaisesti 0.

Tyhjille ryhmän jäsenille määritetään automaattisesti arvo 0

Kuinka lisätä ja tulostaa taulukkoelementtejä?

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

Esimerkki 1: Taulukkoelementtien näyttäminen

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

Tuotos

 Numerot ovat: 7 5 6 12 35. Numerot ovat: 7 5 6 12 35

Täällä olemme käyttäneet forsilmukan iteroimaan välillä i = 0on i = 4. Jokaisessa iteraatiossa olemme tulostaneet numbers(i).

Taulukon elementtien tulostamiseen käytimme taas silmukalle perustuvaa aluetta. Jos haluat lisätietoja tästä silmukasta, tarkista C ++ Ranged for Loop.

Huomautus: Valikoimassamme pohjainen silmukka, olemme käyttäneet koodin const int &nsijasta int n, koska alue julistuksen. Se const int &non kuitenkin edullisempi, koska:

  1. Käyttämällä int nyksinkertaisesti kopioi matriisin elementit muuttujaan n jokaisen iteraation aikana. Tämä ei ole muistia tehokas.
    & n käyttää kuitenkin matriisielementtien muistiosoitetta päästäkseen tietoihinsa kopioimatta niitä uuteen muuttujaan. Tämä on muistia säästävä.
  2. Tulostamme yksinkertaisesti taulukkoelementtejä, emme muokkaa niitä. Siksi käytämme, constjotta emme muuttaisi vahingossa taulukon arvoja.

Esimerkki 2: Ota syötteet käyttäjältä ja tallenna ne matriisiin

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

Tuotos

 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. Lisäämme myös laskennan arvoa 1kussakin iteraatiossa, jotta voimme saada matriisin koon for-silmukan loppuun mennessä.
  4. Kun kaikki elementit on tulostettu, tulostamme kaikkien numeroiden summa ja keskiarvo. Lukujen keskiarvo saadaanaverage = sum / count;

Huomaa: Käytimme alueellista forsilmukkaa normaalin forsilmukan sijaan .

Normaali forsilmukka vaatii meitä määrittämään iteraatioiden määrän, joka annetaan taulukon koon perusteella.

Etäisyyspiiri forei kuitenkaan vaadi tällaisia ​​eritelmiä.

C ++ -joukko rajojen ulkopuolella

Jos ilmoitamme taulukon, jonka koko on 10, taulukko sisältää elementtejä indeksistä 0-9.

Jos kuitenkin yritämme käyttää elementtiä indeksissä 10 tai enemmän kuin 10, se johtaa määrittelemättömään käyttäytymiseen.

Mielenkiintoisia artikkeleita...