Ц++ стринг садржи подстринг

C String Sadrzi Podstring



У Ц++-у имамо тип података стринг и можемо применити различите функције за обављање различитих задатака са стринговима. Можемо проверити да ли је подстринг присутан унутар оригиналног низа. Такође можемо рећи да „стринг садржи подниз“. У овом водичу ћемо научити технике које нам помажу да пронађемо „стринг садржи подниз“. Функције „финд()“ и „стрстр()“ нам помажу да обавимо овај задатак у Ц++ програмирању.

Пример 1:

„иостреам“ и „стринг“ су датотеке заглавља које су укључене овде јер морамо да радимо са стринговима и такође морамо да уносимо или излазимо податке. Дакле, морамо да укључимо ове датотеке заглавља овде. Након тога, укључујемо „намеспаце стд“ уз помоћ кључне речи „усинг“. Дакле, не морамо да стављамо овај „стд“ са свим функцијама одвојено у наш код. Затим се овде позива функција „маин()“.







Сада декларишемо стринг „стр_1“ и овој променљивој доделимо неке податке низа. Затим, такође иницијализујемо другу променљиву под називом „стр_2“ типа података „стринг“ и додељујемо „лике“ овој променљивој „стр_2“. Испод овога користимо кључну реч „боол“ да бисмо дали истините или нетачне резултате. Иницијализујемо „стрингХасСтр“ овим „боол“ типом података и користимо функцију „финд()“. Ово претражује „стринг садржи подниз“. „стр_1“ је комплетан стринг, а „стр_2“ је подниз.



Овде такође додајемо кључну реч „нпос“ која се користи да покаже да нема подударања у овом низу. Проверава да ли стринг садржи подниз и чува резултат у овој боол променљивој „стрингХасСтр“.



Затим идемо напред ка „иф“ услову и проследимо ову „стрингХасСтр“ променљиву овом „иф“ услову. Ако је резултат који је сачуван у овој боол променљивој „тачан“, користи се изјава после овог „иф“ услова где користимо „цоут“ и приказујемо стринг који се овде налази. Али ако је „фалсе“ резултат сачуван у овој боол променљивој, користи се други део и приказује да стринг није овде пронађен.





Код 1:

#инцлуде <иостреам>
#инцлуде <стринг>

користећи простор имена стд;
инт маин ( )
{
стринг стр_1 = „Волим програмски језик Ц++“ ;
стринг стр_2 = 'као' ;
боол стрингХасСтр = стр_1.финд ( стр_2 ) ! = стринг::нпос;
ако ( стрингХасСтр ) {
цоут << 'Овде налазимо низ који је ' << стр_2 << ендл;
}
друго {
цоут << „Стринг није пронађен“ << ендл;
}
повратак 0 ;
}



Излаз:

Овај дати излаз приказује да стринг садржи подстринг и приказује га овде. Ово проверавамо коришћењем функције „финд()“.

Пример 2:

Овде укључујемо три датотеке заглавља које су „иостреам“, „стринг“ и „цстринг“. Затим позовите „маин()“ након постављања „намеспаце стд“. Стринг „нев_стр” је сада декларисан и неки подаци низа су додељени.

Затим иницијализујемо другу променљиву типа података „стринг“ под називом „суб_стр“ и дајемо јој вредност „врло“. Затим постављамо „цонст цхар*“. Дакле, промена вредности показивача тако да показује на другу локацију у меморији је немогућа. Овде декларишемо променљиву „ФиндингСтр“ као овај показивач „цонст цхар*“. Иницијализујемо га методом „стрстр()“ и прослеђујемо оба низа заједно са функцијом „ц_стр()“ која трансформише стринг у низ знакова који се завршава нултом вредношћу. Овај метод „стрстр()“ помаже у провери да ли стринг „нев_стр“ садржи подниз „суб_стр“ или не. Затим имамо „ако“ у које додајемо „ФиндингСтр“. Ако пронађе подниз у оригиналу, наредба после „иф“ се извршава где користимо „цоут“. Ако подниз није пронађен, он се директно помера ка делу „елсе“ и штампа резултат који се налази иза дела „елсе“.

Код 2:

#инцлуде <иостреам>
#инцлуде <стринг>
#инцлуде <цстринг>

користећи простор имена стд;
инт маин ( )
{
стринг нев_стр = „Напољу пада киша и време је веома пријатно. ;
стринг суб_стр = 'врло' ;
цонст цхар * ФиндингСтр = стрстр ( нев_стр.ц_стр ( ) , суб_стр.ц_стр ( ) ) ;
ако ( ФиндингСтр ) {
цоут << 'Проналазимо стринг и низ је: ' << суб_стр << ендл;
}
друго {
цоут << „Стринг није пронађен“ << ендл;
}
повратак 0 ;
}

Излаз:

Можемо приметити да дати низ садржи подстринг јер приказује изјаву коју смо додали после „иф“ и штампа подстринг овде. Ово проверавамо коришћењем функције „стрстр()“.

Пример 3:

Овде иницијализујемо две стринг променљиве: „миНевСтр“ и „миСубСтр“. Затим, додељујемо низ података и декларишемо две целобројне променљиве: „посОфСтр“ и „индекОфСтр“.

Испод овога, користимо петљу „вхиле()“ и додељујемо променљиву функције „финд()“ променљивој „индекОфСтр“ унутар ове „вхиле()“ петље. Проследимо две променљиве овој функцији „финд()“ а то су „миСубСтр“ и „посОфСтр“. Затим постављамо кључну реч „нпос“ која проверава да резултат функције „финд“ није једнак „нпос“. Након овога, користимо „цоут“ који повећава вредност индекса за један и чува је у променљивој „посОфСтр“.

Код 3:

#инцлуде <иостреам>
#инцлуде <стринг>

користећи простор имена стд;
инт маин ( ) {
стринг миНевСтр = 'овде проналазимо низ' ;
стринг миСубСтр = 'низ' ;
инт посОфСтр = 0 ;
инт индекОфСтр;
док ( ( индекОфСтр = миНевСтр.финд ( миСубСтр, посОфСтр ) ) ! = стринг::нпос ) {
цоут << 'Подниз је' << ''' << миСубСтр << ''' << ' Пронађено на индексном броју : ' << индекОфСтр << ендл;
посОфСтр = индекОфСтр + 1 ;
}
повратак 0 ;
}

Излаз:

Овде показује да дати стринг садржи подниз и да је индексни број овог низа „19“ који је такође приказан у овом исходу.

Пример 4:

У овај код укључујемо датотеку заглавља „битс/стдц++.х“. Сада не морамо да укључујемо друге датотеке заглавља јер садрже све потребне библиотеке. Након што позовемо „маин()“, иницијализујемо променљиве „орг_стр“ и „суб_стр“ типа података „стринг“. Затим додајемо услов „иф“ у којем користимо функцију „стрстр()“. Ова функција тражи да види да ли дати низ садржи жељени подстринг. Затим додајемо наредбу „цоут“ да одштампамо да се подниз налази овде. Затим стављамо и део „елсе“ који се извршава само када услов „иф“ није задовољен или подниз није пронађен у низу.

После овога, декларишемо променљиву „суб_стр2“ и овде додељујемо низ података. Затим се убацује услов „иф“ и користи се функција „стрстр()“. Овај метод претражује да ли испоручени низ садржи тражени подстринг. Резултат се затим штампа овде помоћу команде „цоут“. Такође укључујемо одељак „елсе“ који се покреће само ако услов „ако“ није испуњен или ако подниз не може да се нађе у низу.

Код 4:

#инцлуде <битс/стдц++.х>
користећи простор имена стд;
инт маин ( ) {
стринг орг_стр = „Програмски језик Ц++“ ;
стринг суб_стр = 'Програм' ;
ако ( стрстр ( орг_стр.ц_стр ( ) ,суб_стр.ц_стр ( ) ) )
{
цоут << 'Подниз овде је ' << ''' << суб_стр << ''' << 'присутно је у ' << орг_стр << ендл;
}
друго {
цоут << „Подниз није присутан у стрингу.“ << ендл;
}
стринг суб_стр2 = 'Јава' ;

ако ( стрстр ( орг_стр.ц_стр ( ) ,суб_стр2.ц_стр ( ) ) )
{
цоут << 'Подниз овде је ' << ''' << суб_стр2 << ''' << 'присутно је у' << орг_стр << ендл;
}
друго {
цоут << „Подниз није присутан у овом низу.“ << ендл;
}
повратак 0 ;
}

Излаз:

Први резултат функције „стрстр()“ показује да стринг садржи подниз, али резултат друге функције „стрстр()“ показује да подниз није присутан у стрингу.

Закључак

Концепт „стринг садржи подниз“ је детаљно испитан у овом водичу. Истражили смо две методе које помажу у претраживању да ли „стринг садржи подниз“. Објаснили смо „финд()“ као и „стрстр()“ функције које Ц++ пружа овде у овом водичу за обављање овог задатка. Ми демонстрирамо јединственим примерима у којима смо научили како да користимо ове функције да бисмо проверили да ли „стринг садржи подниз“ у њему.