Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

10-LEKCIYA PREZENTACIYA

.pdf
Скачиваний:
0
Добавлен:
25.12.2023
Размер:
545.91 Кб
Скачать

10-LEKCIYA. QATARLAR HÁM KEŃEYTILGEN BELGILER (STRING TIPINDE). QATAR STANDART FUNKCIYALARÍ HÁM

OLAR JÁRDEMINDE QATARLARDÍ QAYTA ISLEW.

C++ tilinde standart qatar tipine qosımsha sıpatında string tipi kiritilgen hám ol string klassı kórinisinde ámelge asırılǵan. Bul tiptegi qatar ushın „\0‟ belgisi tamamlanıw belgisi esaplanbaydı hám ol ápiwayı belgiler massivi sıpatında qaraladı. string tipinde qatarlar uzınlıǵınıń orınlanatuǵın ámeller nátiyjesinde dinamikalıq tárizde ózgerip turıwı, onıń quramında bir qatar funkciyalar anıqlanǵanlıǵı bul tip penen islesiwde belgili bir

qolaylıqlar jaratadı.

string tipindegi ózgeriwshiler tómendegishe járiyalanıwı múmkin:

string s1,s2,s3;

Bul tiptegi qatarlar ushın arnawlı ámeller hám funkciyalar anıqlanǵan. string qatarǵa baslanǵısh mánisler hár qıylı usıllar arqalı beriliwi múmkin:

string s1 = ”birinshi usıl”; string s2(”ekinshi usıl”); string s3(s2);

string s4 = s2;

Dál usınday, string tipindegi ózgeriwshiler ústinde mánis beriw ámelleri de hár qıylı:

string s1, s2, s3;

char *str = ”mısal”;

//qatarlı ózgermes mánis beriw s1 = ”Mánis beriwdiń 1-usılı”;

s2 = str; //char tipindegi qatar júklenbekte

s3 = ‟A‟; //bir belgini mánis sıpatında beriw

s3 = s3 + s1 + s2 + ”0123abc”;//mánis sıpatında qatar ańlatpa

1-kestesinde string tipindegi qatarlar ústinde orınlanatuǵın ámeller keltirilgen.

Qatar elementine indeks quralınan tısqarı at() funkciyası arqalı múráját etiw múmkin:

string s1 = ”qatar mısalı”;

cout << s.at(4) //nátiyjede „r‟ belgisi ekranǵa shıǵadı

Sonı aytıp ótiw kerek, string klassta usı tipdegi ózgeriwshiler menen isleytuǵın funkciyalar anıqlanǵan. Basqasha aytqanda, string tipinde járiyalanǵan

ózgeriwshiler (obyektler) óz funkciyalarına iye esaplanadı hám olardı shaqırıw ushın aldın ózgeriwshi atı, keyin „.‟ (noqat) hám zárúr funkciya atı

(argumentleri menen) jazıladı.

1-keste. string tipindegi qatarlar ústinde orınlanatuǵın ámeller

Ámel

Mazmunı

Mısal

 

 

 

 

Mánis beriw ámeli

s = “qatar01234”

=, +=

s += “2qatar000”

 

 

 

 

 

+

Qatarlar jalǵaw ámeli (konkantenaciya)

s1 + s2

 

 

 

==, !=,

 

 

<, <=,

Qatarlardı salıstırıw ámeli

s1==s2 || s1>s2 && s1!=s2

>, >=

 

 

 

 

 

[]

Índeks beriw

s[4]

 

 

 

<<

Aǵımǵa shıǵarıw

сout << s

 

 

 

>>

Aǵımnan oqıw

сin >> s (probelge shekem)

 

 

 

Qatar bólegin basqa qatarǵa nusqalaw funkciyası

Bir qatar bólegin basqa qatarǵa júklew ushın tómendegi funkciyalardı isletiw múmkin, olardıń prototipi tómendegishe:

assign(const string &str);

assign(const string &str, unsigned int pos, unsigned int n); assign(const char *str, int n);

Birinshi funkciya mánis beriw ámelı menen ekvivalent bolıp

tabıladı: string tipindegi str qatar ózgeriwshi yáki qatar turaqlı ámeldi shaqırıwshı qatarǵa beredi:

string s1, s2;

s1 = “birinshi qatar”;

s2.assign(s1); //s2 = s1 ámelge ekvivalent

Ekinshi funkciya shaqırıwshı qatarǵa

argumenttegi str qatardıń pos ornınan n dana belgiden ibarat bolǵan qatar bólegin nusqalaydı. Egerde pos mánisi str qatar

uzınlıǵınan úlken bolsa, qátelik haqqında eskertiledi, eger pos + n ańlatpa mánisi str qatar uzınlıǵınan úlken bolsa, str qatarınıń pos ornınan baslap qatar aqırına shekem bolǵan belgiler nusqalanadı. Bul qaǵıyda barlıq funkciyalar ushın tiyisli.

Mısal:

string s1, s2, s3;

s1 = “0123456789”;

s2.assign(s1, 4,5); //s2 =“45678” s3.assign(s1, 2,20); //s3 =“23456789”

Úshinshi funkciya argumenttegi char tipindegi str qatardı string tipine aylandırıp, funkciyanı shaqırıwshı qatarǵa ózlestiredi:

char *strold;

cin.getline(strold, 100); //”0123456789” kiritiledi string s1, s2;

s2.assign(strold, 6);

//s2 = ”012345”

s3.assign(strold, 20); //s3 = ”0123456789”

Qatar bólegin basqa qatarǵa qosıw funkciyası

Qatar bólegin basqa qatarǵa qosıw funkciyaları tómendegishe:

append(const string &str);

append(const string & str, unsigned int pos, unsigned int n);

append(const char *str, int n);

Bul funkciyalardı joqarıda keltirilgen sáykes assign funkciyalardan parıqı –

funkciyanı shaqırıwshı qatar aqırına str qatardıń ózin yamasa onıń bólegin qosadı.

char *sc;

cin.getline(sc, 100); //”0123456789” kiritiledi

string s1, s, s2;

s1 = “mısal”;

s2 = sc;

//s2 = “0123456789”

s = “aaa”;

Соседние файлы в предмете Программирование на C++