Низ низова у Ц ++ - Приступите елементима из низа стрингова - Расподјела

Преглед садржаја:

Anonim

Увод у низ стрингова у Ц ++

Постоји много типова података у Ц ++, као што су цели број, плутај, знак, низ. Врста стрингова података је низ знакова који завршава нулл-знаком ('\ 0') који означава крај матрице или низа. Ц их није имао као такав низ података, због чега смо морали да формирамо низ знакова да бисмо формирали низ. У Ц ++ имамо уграђени низ података.

Пример знака: 'а' или 'А'

Пример низа (Ц ++): „Енглески“

Стринг: низ знакова: Стринг (0) = 'Е'

Стринг (1) = 'н'

Стринг (2) = 'г'

Стринг (3) = 'л'

Стринг (4) = 'и'

Стринг (5) = 'с'

Стринг (6) = 'х'

Стринг (7) = '\ 0'

Низови се могу декларирати, писати и штампати директно на Ц ++. Такође, сваком знаку у низу може се приступити користећи индекс сличан индексирању у низу. У случају низа, када читамо у облику низова знакова помоћу сцанф (), зауставит ће низ или функцију читања када пронађе први бијели размак. Да би се то избегло може се користити функција гет (). Ово чита читав редак и престаће да чита тек када корисник притисне „Ентер“.

Низ низова у Ц ++ низу више низа

Низ низова или Низ низова је низ више низова. Ово се може изјаснити на следећи начин:

string Animals(4) = ("Elephant", "Fox", "Lion", "Tiger");

За испис читавог низова низа, за петљу се може користити:

Шифра:

for(int i = 0; i<4; i++) (
cout << Animals(i) << endl;
)

Излаз:

Како приступити елементима из низа стрингова?

Низ низова сличан је дводимензионалном низу. Прва димензија или индекс одређује индекс низа из низања попут прве речи / низа или друге речи / низа и слично. Док друга димензија или индекс одређује који знак у тој конкретној речи / низу.

Да бисте то објаснили јасним примером:

Animals(2)(1) = 'i'

У горњем примјеру, први индекс '2' одређује да је то 2. низ из низа: "Тигер". Други индекс '1' одређује да је то друго слово или индекс 1 из речи 'Тигер'. Коришћењем дводимензионалног индексирања сваком знаку из сваког низа може се лако приступити.

Додјела или дефинирање низова низа

Постоје различите методе расподјеле низа низова:

1. 2Д низ Цхар (који се може користити и у Ц)

име цхар (макс. број елемената) (макс. величина сваког елемента)

боја боје (4) (8) = („плава“, „црвена“, „бела“, „црна“)

Шифра:

int main() (
char color(4)(8) = (“blue”, “red”, “white”, “black”);
for(int i = 0; i<4; i++) (
cout << color(i) << endl;
)
)

Излаз :

Овде је боја матрице фиксне величине, то јест број елемената је фиксиран и такође је одређен број знакова или величина елемента. Максималан број елемената који се могу дефинисати је 4, а сваки може имати највише 8 знакова не више од тога. Ово је главна баријера у низу знакова 2д.

2. Низ с кључним низом (могуће само у Ц ++)

Назив низа (макс. број елемената)

боја боја (4) = ("плава", "црвена", "бела", "црна")

Шифра:

int main() (
string color(4) = (“blue”, “red”, “white”, “black”);
for(int i = 0; i<4; i++) (
cout << color(i) << endl;
)
)

Излаз :

Овде је фиксирана само једна димензија када је изјавимо као низ низа. Фиксан је само број елемената. Величина елемента може варирати. Али одређивањем друге димензије можемо приступити или приказати одређени знак из одговарајућег низа.

3. Коришћење вектора у Ц ++

Име вектора

вектор боја

Шифра:

#include
#include
using namespace std;
int main()
(
vector color;
color.push_back("blue");
color.push_back("red");
color.push_back("white");
color.push_back("black");
for(int i = 0; i cout << color(i) << endl;
)
return 0;
)
#include
#include
using namespace std;
int main()
(
vector color;
color.push_back("blue");
color.push_back("red");
color.push_back("white");
color.push_back("black");
for(int i = 0; i cout << color(i) << endl;
)
return 0;
)

Излаз:

Овде се динамички додељује, меморија се додељује из гомиле. Величина није фиксна. Може да се повећа или смањи према броју елемената. У случају динамичке расподјеле низова низова помоћу наредбе „нев“, морамо ручно распоредити додијељену меморију. Али у случају вектора, то није неопходно. Преусмеравање је могуће у вектору док то није могуће у динамички додељеном низу.

4. Пролажење низова низова у функцији

Низ низова може се пренети на функцију сличну начину на који преносимо матрицу.

Шифра:

#include
#include
using namespace std;
void display(string s(5))(
cout << s(2) ;
)
int main() (
string str(5) = ("Good", "Bad", "Positive", "Negative");
display(str);
)

Излаз :

Овде преносимо стр стринг низа као параметар функцији "дисплаи" која исписује трећи елемент низова стрингова ("Позитивно").

5. Копирање са Стринг Арраи у други

Да бисмо копирали са Стринг Арраи у други, требали бисмо копирати сваки елемент појединачно, али читав Арраи не може се копирати у једном кадру.

Шифра:

int main() (
string str(4) = ("Good", "Bad", "Positive", "Negative");
string s(4);
// s = str; -à This line gives error as the whole array cannot be copied at a single go
// It can be copied as shown below
for( int i=0; i<4; i++) (
s(i) = str(i);
)
for(int i=0; i<4; i++) (
cout << "The element " << i+1 << " of copied array = " << s(i) << " is same as
the corresponding element in main array which is " << str(i) << endl;
)
)

Излаз грешке:

Излаз:

Овде када смо покушали да копирамо целу главну низу стрингова (стр) у други низ (низ) низова, добили смо грешку (као што је приказано на снимку екрана1) док је приликом копирања елемента по елемент стр био копиран у с и то смо могли да проверимо гледањем другог снимка екрана.

Закључак

Дакле, низ је тип података који представља низ знакова и присутан је само у Ц ++. У Ц-у смо се декларисали као низ знакова. Низ низова је низ који чине многи низови. Када је деклариран статички или динамички, он је фиксне величине и када је декларисан у облику вектора, величина није фиксна. Сваком елементу и знаку одређеног елемента може се лако приступити коришћењем индексирања низова низа.

Препоручени чланци

Ово је водич за Стринг Арраи у Ц ++. Овде смо расправљали о томе како вишак елемента у Стринг Арраи у Ц ++ и додељивању Стринг Арраи у Ц ++. Можете и да прођете кроз наше друге сродне чланке да бисте сазнали више -

  1. Низ низова у Питхон-у
  2. СтрингБуффер на Јави
  3. Питхон стринг функције
  4. Низи у Ц ++
  5. Увод у низ низова у Ц #
  6. Топ 11 функција и предности Ц ++
  7. Топ 8 поређења Стринг-а и СтрингБуилдер
  8. Да ли радите у Унику са синтаксом?