C++ satrlar bilan ishlash funksiyalari
C++ satrlar bilan ishlash funksiyalari Reja: 1) Krish; 2) C++ da satrlar bilan ishlashni qulaylashtirish; 3) Satrlarni to`g`irlash va ular ustida ishlash; 4) Xulosa;
Krish A s s a l o mu al ay k u m hu r m at l i das t ur c hi . B ug un s i z b i l an C+ + das r i ni bos hl ay mi z ! C+ + das t ur l a s h t i l i o r q al i S i z Ko m p y ut er l a r uc h un An dr oi d uc h un v a Ar du i n o uc h un d as t u r k od y oz s an gi z bo ' l ad i . C+ + das t ur l a s h t i l i k o' r i ni s hd an j ud a s od da v a t us h un i s hg a os on r o q das t ur l as h t i l l a r i s i r a s i ga k i r ad i . Ni m a uc hu n C + + d an f o yd al an i s h k er ak 1 . C + + d a s t u r l a s h t i l i d u n y o b o ' y i c h a k e n g f o y d a l a n i b k e l i n a y o t g a n d a s t u r l a s h t i l i h i s o b l a n a d i . 2 . C + + B a r c h a G r a f i k I n t e r f e y s g a e g a O p e r a t s i o n S i s t e m a l a r d a u c h r a t i s h m u m k i n . 3 . C + + B u o b y e k t g a y o ' n a l t i r i l g a n d a s t u r l a s h t i l i h i s o b l a n i b . T u z i l g a n d a s t u r n i o s o n l i k b i l a n o ' z g a r t i r i s h i m k o n i y a t i m a v j u d . 4 . C + + - Q i z i q a r l i v a o ' r g a n i s h g a j u d a o s o n . 5 . C + + - K o ' c h m a v a b i r n e c h t a p l a t f o r m a g a m o s h l a s h t i r i l i s h i m u m k i n b o ' l g a n d a s t u r l a r y a r a t s a n g i z b o ' l a d i . 6 . C + + - C # v a J a v a d a s t u r l a s h t i l i g a y a q i n b o ' l g a n d a s t u r l a s h t i l i b o ' l g a n l i g i s a b a b l i a l m a s h t i r i s h j u d a o s o n . C+ + das t ur l a s h t i l i 1 98 5 - y i l da B j ar ne S t r o us t r up t am on i d an as os s ol i n ga n. C das t ur l a s h oi l as i g a m an s u b hi s ob l a na di . C + + - D a s t u r c h i u c h u n x o t i r a n i b o s h q a r i s h . U n u m l i f o y d a l a n i s h i m k o n i y a t i n i b e r a d i ! # include <iostream> using namespace std; int main () { cout << "Hello World!" ; return 0 ; }
C++ da satrlar bilan ishlashni qulaylashtirish; C++ da satrlar bilan ishlashni qulaylashtirish uchun string sinfi kiritilgan. string sinfi satrlarida satr oxirini '\0' belgisi belgilamaydi. Standart kutubxonadagi string sinfidan foydalanish uchun <string> sarlavha faylini dasturga qo'shish kerak. C tilida kompilyatorlarda <cstring.h> yoki <bstring.h> sarlavha faylini qo'shish kerak bo'ladi. Oddiy usuldagi satrlar bilan ishlash uchun esa, <string.h> sarlavha fayli qo'shiladi. Eng afzali, o'zingiz ishlatayotgan kompilyator bilan yaxshilab tanishib chiqing. Satrlar bilan ishlovchi asosiy funksiyalar bilan tanishib chiqamiz. Satr х ususiyatlarini aniqlash uchun quyidagi funksiyalardan foydalanish mumkin: unsigned int size() const; // satr o’lchami unsigned int length() const; // satr el е m е ntlar s о ni unsigned int max_size() const; // satrning maksimal uzunligi unsigned int capacity() const; // satr egallagan хо tira hajmi bool empty() const; // satrning bo’shligini aniqlash Satrning uzunligini aniqlash uchun length() yoki size() funksiyalaridan foydalanish mumkin. Misol: Satr uzunligini aniqlash dasturi #include <iostream.h> #include <string> int main() { string s; cout << "Satr kiriting" << endl; getline(cin, s); cout << "Siz kiritgan satr " << s.length() << " ta belgidan iborat"; cout << "Siz kiritgan satr " << s.size() << " ta belgidan iborat"; system ("pause"); return 0; } Satr uzunligini o'zgartirish uchun resize funksiyasidan foydalaniladi. 1) void resize ( size_t n, char c ); 2) void resize ( size_t n ); #include <iostream.h> #include <string> int main()
{ size_t n; string str ("C++ matn kodi so`zi"); cout << str << endl; // satr uzunligini aniqlash n = str.size(); // satr uzunligini 2 ta belgiga uzaytirish str.resize (n + 2, '+'); cout << str << endl; //satr uzunligini o'zgartirish str.resize(14); cout << str << endl; system ("pause"); return 0; } void clear(); - funksiyasi satrni tozalash (to'liq o'chirish) uchun ishlatiladi. bool empty() const; - funksiyasi satrni bo'shligini tekshirish uchun ishlatiladi. Agar satr bo'sh bo'lsa, true qiymat qaytaradi. Satrning biror qismidan nusxa olish string& assign ( const string &str ); Satrga str o'zgaruvchisidagi satrning to'liq nusxasini olish. string& assign ( const string& str, size_t pos, size_t n ); Satrga str o'zgaruvchisidagi satrning pos o'rindagi belgisidan boshlab n ta belgi nusxasini olish. string& assign ( const char* s, size_t n ); string toifasidagi satrga char toifasidagi satrning n ta belgisi nusxasini olish. string s1, s2, s3; s1 = "tami.uz"; s2.assign(s1); // s2 = "tami.uz" s3.assign(s1, 0, 4); // s3 = "tami" append funksiyasining assigndan farqi satrning davomiga satr qismining qo'shishidadir. string& append ( const string& str ); string& append ( const string& str, size_t pos, size_t n ); string& append ( const char* s, size_t n ); Satrdan nusxa olish #include <iostream.h> #include <string> int main() { string s1, s2, s3; s1 = "rdvatami"; s2.assign(s1, 0, 2); // s2 = "rd" s3.assign(s1, 4, 4); // s3 = "tami" cout << s1 << endl; cout << s2 << endl; cout << s3 << endl; s1 = s3 + s2; // s1 = "tamird" cout << s1 << endl;
s2.append(s3); // s2 = " rdvatami " cout << s2 << endl; system ("pause"); return 0; } char toifasidagi satrni string toifasiga o'tkazish. clear funksiyasiga misol. #include <iostream.h> #include <string> int main() { char c[100]; string s = "Boshlang'ich qiymat"; s.clear(); // s ning qiymati tozalandi cout << "Satr kiriting" << endl; cin.getline(c, sizeof(c)); // s satriga char toifasidagi c satrini nusxasini olish s.assign(c, strlen(c)); cout << s << endl; system ("pause"); return 0; } string toifasidagi satrni char toifasiga o'tkazish string toifasidagi satrni char toifasiga o'tkazish uchun c_str yoki data funksiyalaridan foydalanish mumkin. const char * c_str() const; const char * data() const; Bularning bir - biridan farqi, data funksiyasida satr oxiriga '\0' satr oxiri belgisi qo'shilmaydi. #include <iostream.h> #include <string> #include <string.h> int main() { char c[100]; string s; cout << "Satr kiriting" << endl; getline(cin, s); strcpy(c, s.c_str()); cout << c << endl; system ("pause"); return 0; } Satrning biror qismini o’ chirish erase(unsigned int pos=0, unsigned int n=npos); erase funksiyasi satrni pos o'zgaruvchisida ko'rsatilgan o'rindan boshlab n ta belgini o'chiradi. Agar nechta belgi o'chirilishi n ko'rsatilmagan bo'lsa, pos o'zgaruvchisida ko'rsatilgan