Co je funkce C ++ Array?
Víme, že abychom mohli později použít jakoukoli hodnotu, musíme ji uložit do proměnné. Proměnná bude mít odkaz na paměť, kde bude tato hodnota uložena, abychom ji mohli použít kdykoli chceme. Podobně zvažte případ, kdy máme stovky a tisíce takových údajů, které je třeba pro budoucí použití uložit do proměnné. Není prakticky možné uložit všechny tyto hodnoty do proměnných, protože pro ně budeme muset vytvořit stovky a tisíce proměnných. Tyto proměnné si ani nebude snadné zapamatovat. V tomto tématu se budeme učit o C ++ Array Functions.
Tak přichází koncept pole. Pole je v podstatě kolekce, která je schopna uložit tolik položek, kolik chceme, dokud nejsou stejného typu. Celé celé pole, znakové pole, desetinné pole, to vše definuje typ položek uložených v matici. To znamená, že celé pole bude mít uloženy pouze celá čísla, pole znaků bude mít znaky atd. Tyto hodnoty jsou také uloženy v nepřetržitém paměťovém umístění a lze je individuálně odkazovat podle jejich hodnoty indexu. Hodnota indexu v poli začíná od 0.
Zvažte případ celočíselného pole se 3 prvky 10, 20, 30.
Pole jsou velmi důležitý koncept struktury dat implementovaný většinou programovacích jazyků. C ++ také poskytuje pole, které je souborem prvků stejného typu pevné velikosti. Při deklarování pole je třeba mít na paměti dvě základní věci: velikost pole a typ pole. Protože tyto dvě věci mají být deklarovány na samém začátku při deklarování pole, je pole ve své podstatě statické. Velikost pole určuje počet prvků, které lze uložit.
Obecná syntaxe deklarace pole je -
Příklad -
int pincode_of_cities(50)
Velikost pole musí být celočíselná konstanta, která musí být větší než 0. Typ pole může být jakýkoli datový typ platný v C ++.
Inicializace pole C ++
Existují dvě základní metody inicializace pole -
Metoda 1: V době prohlášení
int pincode(5) = (123, 000, 342, 678, 654);
NEBO
int pincode() = (123, 000, 342, 678, 654);
Metoda 2: Použití smyčky
int number(5);
for(int i = 0; i number = i;int number(5);
for(int i = 0; i number = i;
Toto je jednorozměrné pole nebo pole 1D. Druhým typem pole je vícerozměrné pole, o kterém se budeme bavit později.
Nejprve se podívejme na to, jak můžeme přistupovat k hodnotám z pole. Níže je uvedeno jen několik z následujících metod -
Přístup k hodnotám pole
Název pole (index): Tím se vrátí hodnota na uvedené pozici indexu.
#include
using namespace std;
int arr(5) = (10, 20, 30, 40, 50);
int main ()
(
cout << arr(3);
return 0;
)
Výstup: 40
Chcete-li vytisknout všechny hodnoty v poli -
#include
using namespace std;
int arr(5) = (10, 20, 30, 40, 50);
int i;
int main ()
(
for ( i=0 ; i<5 ; i++ )
(
cout << arr(i);
)
return 0;
)
Výstup: 1020304050
Příklad:
#include
using namespace std;
int main()
(
int num(5), sum = 0;
cout << "Enter 5 natural numbers: ";
// Store numbers
// Then find sum
for (int i = 0; i < 5; ++i)
(
cin >> num(i);
sum += num(i);
)
cout << "Sum = " << sum << endl;
return 0;
)
Výstup:
Zadejte 5 přirozených čísel: 10 20 30 40 50
Součet = 150
Vícerozměrné pole
Výše uvedené je prohlášení pro jednorozměrné pole. Druhým typem pole je vícerozměrné pole a v C ++ se také nazývá obdélníková pole. V závislosti na požadavku to může být dvourozměrné pole nebo trojrozměrné pole. Hodnoty jsou uloženy ve formátu tabulky, známé také jako matice ve formě řádků a sloupců.
Syntaxe deklarující vícerozměrné pole je -
(number of rows)(number of columns) int two_dim(2)(2);
To znamená, že výše uvedené pole má -
- 2 řádky
- 2 sloupce
Výše uvedené pole lze inicializovat následujícím způsobem -
Metoda 1:
#include
using namespace std;
int main()
(
int arr(3)(3) =
(
(1, 5, 15),
(44, 0, 23),
(29, 41, 85) ); //declaring and initializing at the same time
//traversing through the array
for(int i = 0; i < 3; ++i)
(
for(int j = 0; j < 3; ++j)
(
cout<< arr(i)(j)<<" ";
)
cout<<"\n"; //this will take to a new line once the all the columns of the //particular row has been traversed
)
return 0;
)
Výstup:
1 5 15
44 0 23
29 41 85
Metoda 2:
#include
using namespace std;
int main()
(
int arr(3)(3); //declaring a 2D array
arr(0)(0)=5; //initializing the array
arr(0)(1)=10;
arr(0)(2)=15;
arr(1)(0)=20;
arr(1)(1)=30;
arr(1)(2)=40;
arr(2)(0)=50;
arr(2)(1)=60;
arr(2)(2)=70;
//traversing through the elements in the array
for(int i = 0; i < 3; ++i)
(
for(int j = 0; j < 3; ++j)
(cout<< arr(i)(j)<<” ” ;
)
cout<<"\n"; //this will take to a new line once the all the columns of the //particular row has been traversed
)
return 0;
)
Výstup:
5 10 15
20 20 40
50 60 70
Příklad:
#include
using namespace std;
const int city = 2;
const int week = 2;
int main()
(
int temp(city)(week);
cout << "Enter temp for city \n";
// Insert values
for (int i = 0; i < city; ++i)
(
for(int j = 0; j < week; ++j)
(
cout << "city " << i + 1 << ", Week Day " << j + 1 << " : ";
cin >> temp(i)(j);
)
)
// Access values
for (int i = 0; i < city; ++i)
(
for(int j = 0; j < week; ++j)
(
cout << "city " << i + 1 << ", Week Day " << j + 1 << " = " << temp(i)(j) << endl;
)
)
return 0;
)
Enter temp for city
city 1, Week Day 1 : 12
city 1, Week Day 2 : 24
city 2, Week Day 1 : 35
city 2, Week Day 2 : 47
Výstup:
město 1, týden 1 = 12
město 1, týden 2 = 24
město 2, týden 1 = 35
město 2, týden 2 = 47
Doporučené články
Toto je průvodce funkcemi C ++ Array. Zde diskutujeme inicializaci pole C ++ a vícerozměrného pole metodami, příklady a výstupy. Další informace naleznete také v následujícím článku -
- Hvězdné vzory v c ++
- Co je C ++
- Výhody pole
- C # Array vs List
- Průvodce funkcí pole v C
- Vícerozměrné pole v Pythonu
- PHP Array Funkce | Typy funkcí polí v PHP