Merkkijono taulukko C ++ - Käytä elementtejä merkkijonojoukosta - jako

Sisällysluettelo:

Anonim

Johdanto jousimatriisiin C ++: ssa

C ++: ssa on monia tietotyyppejä, kuten kokonaisluku, kelluva, merkki, merkkijono. Merkkijonotietotyyppi on merkistöjoukko, joka päättyy nollamerkillä ('\ 0'), joka osoittaa taulukon tai merkkijonon lopun. C: llä ei ollut niitä sellaisenaan tietotyyppimerkkijonoa, minkä vuoksi jouduttiin muodostamaan merkkijono taulukon muodostamiseksi. C ++: ssa meillä on sisäänrakennettu tietotyyppijono.

Esimerkki merkistä: 'a' tai 'A'

Esimerkki merkkijono (C ++): “English”

Merkkijono: merkkijono: Merkkijono (0) = 'E'

Merkkijono (1) = 'n'

Merkkijono (2) = 'g'

Merkkijono (3) = 'l'

Merkkijono (4) = 'i'

Merkkijono (5) = 's'

Merkkijono (6) = 'h'

Merkkijono (7) = '\ 0'

Merkkijonot voidaan ilmoittaa, kirjoittaa ja tulostaa suoraan C ++-muodossa. Jokaiseen merkkijonoon voidaan päästä myös hakemistossa, joka on samanlainen kuin indeksointi taulukossa. Kun luemme merkkijonon, kun luemme merkkijärjestelmänä skannausta scanf () käyttämällä, se lopettaa merkkijonon tai lukutoiminnon, kun se löytää ensimmäisen valkoisen tilan. Tämän välttämiseksi saa () -toimintoa. Tämä lukee kokonaisen rivin ja lopettaa lukemisen vain, kun käyttäjä osuu 'Enter'.

Merkkijono C ++: ssa joukko useita merkkijonoja

Merkkijono tai Jonojoukko on joukko useita merkkijonoja. Tämä voidaan ilmoittaa seuraavasti:

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

Voit tulostaa koko merkkijonojoukon silmukkaa varten:

Koodi:

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

lähtö:

Kuinka päästä elementteihin jousimatriisista?

Merkkijonojen ryhmä on samanlainen kuin 2-ulotteinen taulukko. Ensimmäinen ulottuvuus tai hakemisto määrittää merkkijonon hakemiston ryhmämäisestä ensimmäisestä sana / merkkijono tai 2. sanasta / merkkijono ja niin edelleen. Kun taas toinen ulottuvuus tai hakemisto määrittelee minkä merkin kyseisessä sanassa / merkkijonossa.

Selittää se selkeällä esimerkillä:

Animals(2)(1) = 'i'

Yllä olevassa esimerkissä ensimmäinen hakemisto '2' määrittelee sen olevan taulukon toinen merkkijono: "Tiger". Toisessa hakemistossa '1' määritetään, että se on toinen kirjain tai hakemisto 1 sanasta "Tiger". Kaksiulotteisen indeksoinnin avulla jokainen merkkijono jokaisesta merkkijonosta on helposti käytettävissä.

Allokaatio tai määrittelevä merkkijono

Merkkijonojoukon allokointiin on olemassa erilaisia ​​menetelmiä:

1. 2D-ryhmä Charia (jota voidaan käyttää myös C: ssä)

char Nimi (elementtien enimmäismäärä) (kunkin elementin enimmäiskoko)

char väri (4) (8) = (“sininen”, “punainen”, “valkoinen”, “musta”)

Koodi:

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

Tulos :

Tässä taulukon väri on kiinteä koko, eli elementtien lukumäärä on kiinteä ja myös elementin merkkien lukumäärä tai koko on myös kiinteä. Määritettävien elementtien enimmäismäärä on 4 ja kussakin voi olla korkeintaan 8 merkkiä, enintään. Tämä on pääeste 2d-merkistössä.

2. Taulukko avainsanalla String (mahdollista vain C ++)

merkkijono Nimi (enimmäismäärä elementtejä)

merkkijonoväri (4) = (“sininen”, “punainen”, “valkoinen”, “musta”)

Koodi:

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

Tulos :

Tässä vain yksi ulottuvuus on kiinteä, kun julistamme sen merkkijonojoukkona. Vain elementtien lukumäärä on kiinteä. Elementin koko voi vaihdella. Mutta määrittelemällä toisen ulottuvuuden voimme käyttää tai näyttää tiettyä merkkiä vastaavasta merkkijonosta.

3. Vektorien käyttö C ++: ssa

vektorin nimi

vektori väri

Koodi:

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

lähtö:

Täällä se allokoidaan dynaamisesti, muisti varataan kasasta. Kokoa ei ole vahvistettu. Se voi kasvaa tai vähentyä elementtien lukumäärän mukaan. Jos merkkijonojoukko allokoidaan dynaamisesti komennolla ”uusi”, meidän on käsiteltävä allokoitu muisti manuaalisesti. Mutta vektorin tapauksessa tämä ei ole välttämätöntä. Uudelleenjako on mahdollinen vektorissa, kun taas dynaamisesti allokoidussa taulukossa se ei ole mahdollista.

4. Merkkijonojoukon ohittaminen funktiossa

Merkkijonojoukko voidaan siirtää toimintoon, joka on samanlainen kuin Taulukon siirtäminen.

Koodi:

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

Tulos :

Tässä siirrämme merkkijonojoukon str parametrina toiminnolle “näyttö”, joka tulostaa merkkijonojen kolmannen elementin (“Positiivinen”).

5. Selviytyminen kielirivistä toiseen

Kopiointi merkkijonoista toiseen Meidän pitäisi kopioida jokainen elementti erikseen, mutta koko taulukkoa ei voida kopioida yhdellä otoksella.

Koodi:

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

Virheen tulos:

lähtö:

Kun yritimme kopioida koko päämerkkijonojoukon (str) toiseen merkkijonojoukkoon, saimme virheen (kuten kuvakaappaus1 osoittaa), kun taas kun kopioimme sitä elementti kerrallaan, str kopioitiin s: iin ja voimme varmistaa tämän näkemällä toisen tulosteen kuvakaappauksen.

johtopäätös

Joten merkkijono on tietotyyppi, joka on merkistö, ja se on läsnä vain C ++: ssa. C-luokassa meillä oli tapana ilmoittaa merkkiryhmä. Merkkijonojoukko on joukko, joka koostuu monista merkkijonoista. Kun se ilmoitetaan staattisesti tai dynaamisesti, sen koko on kiinteä, ja kun se ilmoitetaan vektorin muodossa, koko ei ole kiinteä. Jokaiseen elementtiin ja tietyssä elementissä olevaan merkkiin pääsee helposti käyttämällä merkkijonojen indeksointia.

Suositellut artikkelit

Tämä on opas merkkijonojoukkoon C ++: ssa. Tässä keskustellaan siitä, kuinka ylittää elementti merkkijonoarvossa C ++: ssa ja merkkijonojoukon allokoinnissa C ++: ssa. Voit myös käydä läpi muiden aiheeseen liittyvien artikkeleidemme saadaksesi lisätietoja-

  1. Kielisarja Pythonissa
  2. StringBuffer Java -sovelluksessa
  3. Python-kielitoiminnot
  4. Ryhmät C ++: ssa
  5. Johdanto merkkijonojoukkoon C #: ssä
  6. C ++: n 11 tärkeintä ominaisuutta ja hyötyä
  7. Kahdeksan suosituinta vertailua String vs StringBuilder
  8. Array Työskenteletkö Unixissa Syntaxin kanssa?