Сатрлар ва кенгайтирилган белгилар C++ tili satrlarni yaratish va ularni boshqarish uchun standart satr klassini ishlatadi


Download 471.33 Kb.
Sana03.12.2020
Hajmi471.33 Kb.
#157529
Bog'liq
N10. Сатрлар ва кенгайтирилган белгилар

Сатрлар ва кенгайтирилган белгилар

C++ tili satrlarni yaratish va ularni boshqarish uchun standart satr klassini ishlatadi.

  • C++ tili satrlarni yaratish va ularni boshqarish uchun standart satr klassini ishlatadi.
  • Satrlar bilan amallar bajarilayotganda kerakli hotira maydoni avtomatik ajratiladi yoki o’zgartiriladi.
  • Dasturchi ichki hotirani taqsimlash haqida qayg’urmasa ham bo’ladi chunki bu kompilyator tomonidan bajariladi.

Қаторларни аниқлаш ва белгилаш


String classi obyektlari yakunlovchi simvolga ‘\0’ ega bo’lishlari shart emas

#include using namespace std; int main(){ string t; cin>>t; cout <

#include

#include

using namespace std;

int main(){

string t;

getline(cin, t);

cout <

return 0;

}

Initializing Strings

  • Agar string tipi e’lon qilinmasa 0 chi uzunlikdagi bo’sh satr yaratiladi.
  • Satr uzunligi ya’ni satrda joylashgan simvollarni aniqlash uchun length( ) funksiyasidan yoki unga ekvivalent bo’lgan size( ) dan foydalaniladi.
  • Misol: string message("Good morning!");
  • cout << message.length( ); // Output: 13

Бирлашган қатор. CONCATENATING STRINGS

// string2.cpp: Reads several lines of text and outputs in reverse order.

#include

#include

using namespace std;

int main( ){

cout <<"Terminate the input with an empty line.\n" ;

string text, satr; // Empty strings

while(true)

{

getline(cin, satr); // Reads a line of text

if( satr.length() == 0) // Empty line?

break; // Yes ->end of the loop

text = satr + '\n' + text; // Inserts a new line at the beginning.

}

// Output:

cout << satr << '\n'

<< "Your lines of text in reverse order:"<<'\n'<

cout << text ;

return 0; }

Yuqoridagi dasturda string klassida + va + = operatorlari (конкатенация) birlashtirish vazifasida kelmoqda, ==, ! =, <, <=,> va > = operatorlari satrlarni solishtirish uchun qo’llanilmoqda.

  • Yuqoridagi dasturda string klassida + va + = operatorlari (конкатенация) birlashtirish vazifasida kelmoqda, ==, ! =, <, <=,> va > = operatorlari satrlarni solishtirish uchun qo’llanilmoqda.
  • Bu operatorlar satrlarda ishlatilayotgan bo’lsada, o’ziga hos qo’llanilish qoidalariga ega: ‘+’ operatori solishtirish operatoridan yuqori mavqega ega, solishtirish operatorlari esa o’zlashtirish operatorlari (= va + =)dan ustun turadilar.

Using + to Concatenate Strings

  • ‘+’ operatorini satrlarni birlashtirish uchun qo’llansa bo’ladi, ya’ni ularni bir satrga birlashtirish mumkin.
  • Example:
  • string sum, s1(“Tosh"), s2(“baqa");

    sum = s1 + s2;

  • Bu misol s1 va s2 satrlarini bitta satr(string) ga birlashtiradi. Natijada «Toshbaqa» so’zi sum satriga o’zlashtiriladi.
  • ‘+’ operatori ‘<<’ operatoriga nisbatan yuqori prioritet(ustunlik)ga ega bo’lib, satrlar “sum” natijasi chiqishidan oldin birlashtiriladi.
  • Birlashtirish chapdan o’ngga (left to right) tomon amalga oshiriladi.
  • String constants and single characters are also valid as operands in expressions containing strings:
  • Misol:
  • string s("Good morning ");

    cout << s + "mister X" + '!';

Using += to Concatenate Strings

  • Example:
  • string s1("Good "), s2("luck!");

    s1 += s2; // To concatenate s2 and s1.

    s1 += "luck!"; // Also possible

    cout << s1;

Қаторларни солиштириш. COMPARING STRINGS

#include

#include

using namespace std;

int main(){

string s1, s2;

getline( cin, s1); // Read the first

getline( cin, s2); // and second line.

if( line1 == line2)

cout << " Satrlar bir xil" << endl;

else cout<<"Ular br xil emas";

return 0; }

#include

#include

#include

using namespace std;

int main(){

string s1, s2;

getline( cin, s1); // Read the first

getline( cin, s2); // and second line.

s1>s2?cout<

return 0; }

Solishtirish natijalari

  • Solishtirish natijalari bool mantiqiy tipi orqali amalga oshiriladi. s1 va s2 satrlari uchun:
  • s1 == s2 TRUE bo’ladi agar har ikkalasini qiymati bir hilda bo’lsa (satr uzunligi bir hil bo’lishi lozim).
  • s1 < s2 TRUE bo’ladi agarda s1 ning simvoli uzunligi, s2 ning simvoli uzunligidan farq qilsa.

Қатор қўшиш ва олиб ташлаш INSERTING AND ERASING IN STRINGS

Inserting a string

string s1("Miss Summer");

s1.insert(5, "Ashley "); // Insert at position: 5

cout<

Erasing a substring

string s("The summer-time");

s.erase(4,7); // Start position: 4, Quantity: 7

cout<

string s("winter-story");

string s("winter-story");

s.erase(6); // s now contains "winter"

cout<

erase( ); argumentsiz

berilsa satr to’liq

o’chiriladi

Қатор ўрнини эгаллаш ва қатор қидируви. SEARCHING AND REPLACING IN STRINGS

string s1("There they go again!"),

s2("Bob and Bill");

s1.replace(6, 4, s2);

cout<
s1.replace(6, 4, s2);

string s1("Here comes Mike!"),

string s1("Here comes Mike!"),

s2("my love?");

s1.replace(11, 4, s2, 0, 7);

cout<
s1.replace(11, 4, s2, 0, 7);

Searching

string youth("Bill is so young, so young");

int first = youth.find("young");

cout<

E’tiboringiz

uchun

rahmat


Download 471.33 Kb.

Do'stlaringiz bilan baham:





Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling