Kuinka luoda ja käyttää 2D-taulukkoa C++-kielellä
C++-kielessä voit käyttää kaksiulotteisia taulukoita järjestämään tiedot taulukkomuotoisesti. Matematiikassa, erityisesti lineaarialgebraassa, 2D-taulukot tarjoavat optimaalisen rakenteen matriisien esittämiseen.
Mikä on 2D-taulukko C++-kielessä?
C++-kielessä 2D-taulukko on tietorakenne, joka järjestää elementit kaksiulotteiseen, taulukkomuotoiseen muotoon. Toisin kuin yksiulotteiset taulukot, jotka tallentavat elementit yksinkertaisesti järjestyksessä, 2D-taulukko järjestää tiedot riveiksi ja sarakkeiksi. Jokainen 2D-taulukon elementti tunnistetaan sen rivi- ja sarakkeindeksien avulla, mikä helpottaa yksittäisten datapisteiden käyttöä ja käsittelyä. Tämän tyyppisellä taulukolla on useita käyttötarkoituksia matriiseja sisältävistä matemaattisista operaatioista rasteritietojen käsittelyyn.
Miten 2D-taulukko on rakennettu C++-kielessä?
C++-kielessä 2D-taulukoiden määrittelyn syntaksi koostuu seuraavista elementeistä:
data_type arrayName[num_rows][num_cols];c++data_type: Tietotyyppi määrittää 2D-taulukkoon tallennettavan datan tyypin. Se voi olla esimerkiksiintkokonaisluvuille,doubleliukuluvuille tai käyttäjän määrittämille tietotyypeille.arrayName: Nimi toimii tunnisteena, jota voit käyttää koko taulukon käyttämiseen.num_rows: Tämä syntaksin osa määrittää, kuinka monta riviä 2D-taulukossa on.num_cols: Tässä määrität 2D-taulukon kunkin rivin sarakkeiden lukumäärän.
Alla olevassa esimerkissä määritellään 2D-taulukko nimeltä matrix. Se koostuu 3 rivistä ja 4 sarakkeesta ja sisältää yhteensä 12 elementtiä.
int matrix[3][4] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};c++Kuinka tulostaa 2D-taulukko C++-kielellä
Voit tulostaa 2D-taulukon for-silmukan avulla. Ulompi silmukka iteroi rivit, kun taas sisempi silmukka iteroi kunkin rivin sarakkeet. Lauseke std::cout << matrix[i][j] << " "; näyttää kunkin elementin. Jokaisen rivin jälkeen luomme uuden rivin käyttämällä std::cout << std::endl;. Tämä varmistaa paremman muodon tulosteelle.
#include <iostream>
int main() {
int matrix[3][4] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 4; ++j) {
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
return 0;
}c++2D-taulukon elementit näytetään tulosteessa rivi riviltä:
1 2 3 4
5 6 7 8
9 10 11 12c++Esimerkkejä kaksiulotteisten taulukoiden käytöstä C++-kielessä
C++-kielellä ohjelmointi tarkoittaa, että joudut ennemmin tai myöhemmin työskentelemään taulukoiden kanssa. Seuraavassa osassa esittelemme tyypillisiä sovelluksia 2D-taulukoille C++-kielellä.
2D-taulukot käyttäjän syötteillä
Tässä on yksinkertainen C++-esimerkki, jossa käyttäjä voi määritellä 2D-taulukon dynaamisesti. Ensin pyydämme käyttäjää syöttämään rivien ja sarakkeiden lukumäärän, minkä jälkeen syötetään taulukon elementit.
#include <iostream>
int main() {
int numRows, numCols;
std::cout << "Number of rows: ";
std::cin >> numRows;
std::cout << "Number of columns: ";
std::cin >> numCols;
int userArray[numRows][numCols];
std::cout << "Please enter in elements:\n";
for (int i = 0; i < numRows; ++i) {
for (int j = 0; j < numCols; ++j) {
std::cout << "Element [" << i << "][" << j << "]: ";
std::cin >> userArray[i][j];
}
}
std::cout << "2D array:\n";
for (int i = 0; i < numRows; ++i) {
for (int j = 0; j < numCols; ++j) {
std::cout << userArray[i][j] << " ";
}
std::cout << std::endl;
}
return 0;
}c++Jos käyttäjän syöttöinä annetaan 2 riviä ja 3 saraketta sekä arvot 1, 2, 3, 4, 5, 6, 2D-taulukko on seuraava:
2D array:
1 2 3
4 5 6c++Matriisien lisääminen 2D-taulukoilla
C-operaattoreilla, kuten +, voimme helposti lisätä matriiseja C++:ssa käyttämällä 2D-taulukoita.
#include <iostream>
const int numRows = 2;
const int numCols = 2;
void matrixAddition(int A[][numCols], int B[][numCols], int result[][numCols]) {
for (int i = 0; i < numRows; ++i) {
for (int j = 0; j < numCols; ++j) {
result[i][j] = A[i][j] + B[i][j];
}
}
}
void displayMatrix(int matrix[][numCols]) {
for (int i = 0; i < numRows; ++i) {
for (int j = 0; j < numCols; ++j) {
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
}
int main() {
int matrixA[numRows][numCols] = {{1, 2}, {3, 4}};
int matrixB[numRows][numCols] = {{5, 6}, {7, 8}};
int resultMatrix[numRows][numCols];
matrixAddition(matrixA, matrixB, resultMatrix);
// Output of matrix A and B and their sum
std::cout << "Matrix A:\n";
displayMatrix(matrixA);
std::cout << "\nMatrix B:\n";
displayMatrix(matrixB);
std::cout << "\nSum (A + B):\n";
displayMatrix(resultMatrix);
return 0;
}c++Ensin luomme kaksi 2x2 matriisia, A ja B. Sitten laskemme niiden summan, joka näytetään tuloksena olevassa matriisissa. matrixAddition funktio hyväksyy kaksi alkuperäistä matriisia ja tuloksena olevan matriisin parametreina ja suorittaa yhteenlaskun. displayMatrix funktio näyttää sitten matriisien A ja B summan konsolissa.
Tässä on tulos:
Matrix A:
1 2
3 4
Matrix B:
5 6
7 8
Sum (A + B):
6 8
10 12c++