Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»



Pdf көрінісі
бет423/642
Дата30.03.2022
өлшемі3,66 Mb.
#29231
түріПрограмма
1   ...   419   420   421   422   423   424   425   426   ...   642
using namespace std; 

int main (){

 

string s1("лесная королева"), s2("ле");

 

cout << "s1 = " << s1 << endl;

 

cout << "s2 = " << s2 << endl;

 

int i = s1.fi nd(s2);

 

int j = s1.rfi nd(s2);

 

cout << "s1 құрамындағы алғашқы s2 " << i << endl;

 

cout << "s1 құрамындағы соңғы s2 " << j << endl;

 

cout << "s1 құрамындағы алғашқы 'o' " 

      << s1.fi nd('o') << endl;

 

cout << "s1 құрамындағы соңғы 'o' " 

      << s1.rfi nd('o') << endl;

 

cout << "s1 құрамындағы алғашқы " 

      << s1.fi nd_fi rst_of("adcde") << endl;

 

cout << "s1 құрамындағы соңғы " 

      << s1.fi nd_last_of("adcde") << endl;

}


316

Программа жұмысының нəтижесі:



s1 = лесная королева 

s2 = ле

s1 құрамындағы алғашқы s2 0 

s1 құрамындағы соңғы s2 11 

s1 құрамындағы алғашқы 'o' 8 

s1 құрамындағы соңғы 'o' 10 

s1 құрамындағы алғашқы 1 

s1 құрамындағы соңғы 14

Тіркестердің бөліктерін салыстыру

Тіркестерді бүтіндей толық салыстыру үшін асыра жүктелген қатынастық 

операциялар  қолданылады, ал егер тіркестердің бөліктерін салыстыру керек 

болса, 


compare

 функциясы қолданылады:



int compare(const string& str) const;

int compare(size_type pos1, size_type n1,    

 

 

   const string& str) const;

int compare(size_type pos1, size_type n1, const string& str, 

 

 

 

            size_type pos2, size_type n2) const;

Функцияның брінші формасы екі тіркесті бүтіндей толығымен салысты-

рып, шақырушы тіркес лексикографиялық тұрғыдан 

str 

тіркесінен кіші бол-

са, нөлден кіші мəнді, тіркестер бірдей болса, нөлге тең мəнді жəне шақырушы 

тіркес үлкен болған жағдайда нөлден үлкен мəнді қайтарады. Бұл форма С 

кітапханасындағы 

strstr

 тіркестерді салыстыру функциясының аналогы бо-

лып табылады. 

Функцияның екінші формасы да осыған ұқсас əрекеттер орындайды, бірақ



 

str

 тіркесімен шақырушы тіркестің 



pos1

 позициясынан басталатын қатар 

орналасқан 

n1

 симолдар санын салыстырады.

Функцияның үшінші формасы

 

шақырушы тіркестің 



pos1

 позициясы-

нан басталатын 

n1

 симолын 



str

 тіркесінің 



pos2 

позициясынан басталатын, 

ұзындығы

 n2

 болатын ішкі тіркесімен салыстырады.

Функциялардың осыған ұқсас формалары

 string

 типті тіркестерді ескі 

стильдегі тіркестермен салыстыру үшін қолданылады. 

Тіркестерді салыстыру функциясын қолдану мысалы:



#include  

#include  

using namespace std; 

int main (){

 

string s1("лесная королева"),s2("лe"),s3("кopoвa");

 

cout << "s1 = " << s1 << endl;

 

cout << "s2 = " << s2 << endl;

 

cout << "s3 = " << s3 << endl;


317

 

if (s2.compare(s3) > 0) cout << "s2 > s3 " << endl;

 

if (s1.compare(7, 4, s3) < 0)

 

cout << "1[7-l0] < s3 "  << endl; 

 

if (s1.compare(7, 4, s3, 0,4 ) == 0)

 

cout << "s1[7-l0] == s3[0-3] " << endl;

}

Программаның орындалу нəтижесі:



s1 = лесная королева 

s2 = ле 

s3 = корова 

s2 > s3 

s1[7-l0] < s3 

s1[7-l0] == s3[0-3]

 Тіркестердің сипаттамаларын алу

string

 класында объектіге жұмсалған жады көлемі мен тіркестің 

ұзындығын алуға мүмкіндік беретін бірқатар функция-мүшелер анықталған:

size_type size() const;    // Тіркес элементтерінің саны

size_type length() const;  // Тіркес элементтерінің саны 

size_type max_size() const;  // Тіркестің максималды 

                             // ұзындығы

size_type capacity() const;  // Тіркестің алатын 

                             // жады көлемі 

bool empty() const;          // Тіркес бос болса, 

                             // ақиқат мəнін қайтарады

Тіркестермен жұмыс практикумның [12] бесінші семинарында 

қарастырылады.





Достарыңызбен бөлісу:
1   ...   419   420   421   422   423   424   425   426   ...   642




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет