C++ obsahuje příklady

C Obsahuje Priklady



Datový typ string v C++ nám umožňuje použít několik funkcí k provádění různých činností s řetězci. Zda je podřetězec obsažen v původním řetězci, lze určit jeho kontrolou. Jazyk C++ nám usnadňuje různé funkce, které pomáhají zjistit, zda řetězec obsahuje podřetězec nebo ne. Funkce obsahuje() je jednou z nich, která pomáhá při provádění tohoto úkolu. Tato funkce je dostupná pouze v C++ 23. Dozvíme se podrobně, jak nám tato funkce obsahuje() umožňuje zjistit, zda je podřetězec přítomen v původním řetězci.

Příklad 1:

V této situaci musíme pracovat s řetězci a vstupními nebo výstupními daty, takže jsou poskytovány hlavičkové soubory „iostream“ a „string“. Tyto hlavičkové soubory tedy musí být zahrnuty zde. Poté již nemusíme tento „std“ zahrnout do našeho kódu samostatně s každou funkcí, protože jsme již zahrnuli „namespace std“ pomocí klíčového slova „using“. Zde se pak zavolá funkce „main()“. Poté je proměnná „string“ s názvem „originalString“ inicializována nějakým řetězcem. Poté inicializujeme další „řetězcovou“ proměnnou s názvem „word“ pomocí C++.

Nyní pod tím použijeme „cout“ a vytiskneme původní řetězec. Poté deklarujeme „int Result“ a umístíme funkci „contains()“, abychom zkontrolovali, zda „originalString“ obsahuje „word“ nebo ne. Pod něj umístíme „pokud“. „Výsledek“ předáme „pokud“. Pokud původní řetězec obsahuje podřetězec, vykreslí příkaz, který jsme přidali za „if“. V případě, že řetězec neobsahuje podřetězec, je vykreslen příkaz, který je uveden za „else“.







Kód 1:

#include

#include <řetězec>

pomocí jmenného prostoru std ;

int hlavní ( )

{

string originalString = 'Mám rád programování v C++' ;

řetězec slovo = 'C++' ;

cout << 'Řetězec je =' << původní řetězec << endl << endl ;

int Výsledek = původní řetězec. obsahuje ( slovo ) ;

-li ( Výsledek )

{

cout << 'Slovo nalezené v řetězci, který je =' << slovo << endl ;

}

jiný

{

cout << 'Slovo nebylo v řetězci nalezeno' << endl ;

}

vrátit se 0 ;

}

Výstup:



Tento výsledek ukazuje, že podřetězec, který najdeme v původním řetězci pomocí funkce obsahuje() se nachází uvnitř původního řetězce a je zde zobrazen.







Příklad 2:

„iostream“ a „řetězec“ jsou soubory záhlaví, které jsme importovali do tohoto kódu. Zahrnuje také jmenný prostor „std“. Poté se zde zavolá main(). Dále inicializujeme proměnnou „string“ nazvanou „str_1“ přidáním některých dat řetězce. Dále inicializujeme proměnnou „string“ nazvanou „str_2“ pomocí „Rain“.

Pod tím vytiskneme původní řetězec pomocí funkce „cout“. Abychom určili, zda je nebo není přítomen „str_2“ v „str_1“, deklarujeme „int Outcome“ a vložíme sem metodu obsahuje(). Níže umístíme „pokud“ a „Výsledek“ předáme „pokud“. Pokud původní řetězec obsahuje podřetězec, přidáme příkaz „cout“ po vykreslení „if“. V opačném případě se vykreslí příkaz „cout“, který následuje za „else“.



Kód 2:

#include

#include <řetězec>

pomocí jmenného prostoru std ;

int hlavní ( )

{

řetězec str_1 = 'Venku je chladné počasí' ;

řetězec str_2 = 'Déšť' ;

cout << 'Řetězec je =' << str_1 << endl << endl ;

int Výsledek = str_1. obsahuje ( str_2 ) ;

-li ( Výsledek )

{

cout << 'Slovo nalezené v řetězci, který je =' << str_2 << endl ;

}

jiný

{

cout << 'Slovo nebylo v řetězci nalezeno' << endl ;

}

vrátit se 0 ;

}

Výstup:

Tím se vykreslí, že podřetězec, který najdeme v původním řetězci pomocí funkce obsahuje() se nenajde uvnitř původního řetězce a ve výsledku se vykreslí zde.

Příklad 3:

Do tohoto kódu importujeme hlavičkové soubory „iostream“ a „string“. Potom pod tím použijeme „jmenný prostor std“. Poté se zde vyvolá main(). Nyní inicializujeme dvě proměnné datového typu „string“ s názvy „myString_1“ a „myString_2“ a původní řetězec, ze kterého chceme najít podřetězec, přiřadíme proměnné „myString_1“ a podřetězec je přiřazen do proměnné „myString_2“.

Poté zobrazíme původní řetězec tak, že do příkazu „cout“ vložíme „myString_1“ a poté vložíme „if“, ve kterém použijeme metodu „contains()“, která kontroluje, zda daný řetězec obsahuje podřetězec. Pokud je podřetězec přítomen v původním řetězci, pomocí „cout“ vykreslíme výsledek.

Umístíme dva příkazy „cout“, ve kterých jeden je umístěn za „if“ a druhý je přidán za část „else“. Pokud původní řetězec obsahuje podřetězec, vykreslí se „cout“ za „if“. Pokud podřetězec není nalezen nebo původní řetězec nemá podřetězec, vykreslí se „cout“ za „else“.

Kód 3:

#include

#include <řetězec>

pomocí jmenného prostoru std ;

int hlavní ( )

{

řetězec myString_1 = 'Ahoj! Ahoj světe' ;

řetězec myString_2 = 'Ahoj' ;

cout << 'Úplný řetězec je' << myString_1 << endl ;

-li ( myString_1. obsahuje ( myString_2 ) ) {

cout << 'Nalezen řetězec =' << myString_2 << endl ;

}

jiný {

cout << 'String zde nebyl nalezen' << endl ;

}



vrátit se 0 ;

}

Výstup:

Tento výsledek ukazuje, že podřetězec, který hledáme v původním řetězci pomocí metody obsahuje() se nachází v původním řetězci a je zde zobrazen.

Příklad 4:

Do tohoto kódu se importují hlavičkové soubory „iostream“ a „string“. Funkce main() je zde zavolána poté, co použijeme „namespace std“ pod ní. Inicializace dvou proměnných datového typu „string“ jsou pojmenovány „s_1“ a „s_2“. Původní řetězec, ze kterého chceme zjistit podřetězec, je nyní přiřazen do proměnné „s_1“ a podřetězec je dán proměnné „s_2“. Původní řetězec se pak zobrazí vložením „s_1“ do příkazu „cout“.

Dále přidáme klauzuli „if“, kde pomocí metody obsahuje() určíme, zda dodaný řetězec obsahuje podřetězec. Výstup vykreslíme pomocí „cout“, pokud je podřetězec přítomen v původním řetězci. Jsou přidány dva příkazy „cout“, jeden za „if“ a druhý za „else“ část kódu. „Cout“ následující po „if“ se vykreslí, pokud je podřetězec přítomen v původním řetězci. V opačném případě se vykreslí „cout“ následující po „else“, pokud podřetězec nemůže být umístěn v původním řetězci.

Kód 4:

#include

#include <řetězec>

pomocí jmenného prostoru std ;

int hlavní ( )

{

řetězec s_1 = 'Ahoj! Tady jsem Jack.' ;

řetězec s_2 = 'Petr' ;

cout << 'Úplný řetězec je =' << s_1 << endl ;

-li ( s_1. obsahuje ( s_2 ) ) {

cout << 'Nalezen řetězec =' << s_2 << endl ;

}

jiný {

cout << 'Řetězec nenalezen =' << s_2 << endl ;

}

vrátit se 0 ;

}

Výstup:

Jak je vidět z tohoto výsledku, podřetězec, který jsme hledali v původním textu pomocí metody obsahuje(), v kódu nebyl nalezen.

Příklad 5:

Zde použijeme knihovnu „boost“ a zjistíme, zda řetězec obsahuje podřetězec nebo ne. V této metodě „boost“ využíváme také funkci obsahuje(). Do tohoto kódu tedy zahrneme také hlavičkový soubor „boost/algorithm/string.hpp“ spolu se soubory záhlaví „iostream“ a „string“. Poté umístíme „std“ a zde vyvoláme metodu main().

Poté deklarujeme proměnné „StringData1“ a „StringData2“ datového typu „string“ a zde inicializujeme data řetězce. Proměnná „c_result“ datového typu „bool“ je inicializována pomocí „boost::algorithm::contains()“ a do této funkce předáváme „StringData1“ a „StringData2“. To také najde podřetězec v původním řetězci a uloží booleovský výsledek do proměnné „c_result“.

Nyní umístíme „c_result==1“ do „if“ níže. Pokud je logická hodnota „c_result“ „1“, zobrazí se příkaz za „if“. V opačném případě se přesune k části „else“ a přeskočí příkaz, který je přítomen po „if“ a vykreslí příkaz „else“ části.

Kód 5:

#include

#include <řetězec>

#include

pomocí jmenného prostoru std ;

int hlavní ( ) {

řetězec StringData1 = 'Můj první program' ;

řetězec StringData2 = 'První' ;

bool c_result = posílení :: algoritmus :: obsahuje ( StringData1 , StringData2 ) ;

-li ( c_result == 1 )

{

cout << 'struna' << ''' << StringData1 << ''' << 'obsahuje' << StringData2 << endl ;

}

jiný

{

cout << 'Zadané slovo není v řetězci přítomno.' ;

}

vrátit se 0 ;

}

Výstup:

Podřetězec se nyní nachází v původním řetězci, což můžeme vidět v tomto výsledku.

Závěr

Podrobně jsme prozkoumali metodu obsahuje() poskytovanou jazykem C++. Také jsme zmínili, že funkce obsahuje() je dostupná pouze v „C+++ 23“. Zkoumali jsme, zda funkce obsahuje() pomáhá najít podřetězec v původním řetězci nebo zda pomáhá při kontrole, zda řetězec obsahuje podřetězec či nikoli, a podle toho vykreslili výsledek.