#include
int main() {
String s1=”01234567893456ab2csef”, s2=”456”,
s3=”ghk”;
cout<<“s1=”<
cout<<“s2=”<
cout<<“s3=”<
if(s2.compare(s3)>0)cout<<“s2>s3”<
if(s2.compare(s3)==0)cout<<“s2=s3”<
if(s2.compare(s3)<0)cout<<“s2
if(s1.compare(4,6,s2)>0)cout<<“s1[4-9]>s2”<
if(s1.compare(5,2,s2,1,2)==0)
cout<<“s1[5-6]=s2[1-2]”<
}
Masala. Familiya, ismi va shariflari bilan talabalar ro‘yxati berilgan. Ro‘yxat alfavit bo‘yicha tartiblansin.
Programma matni:
#include
#include
int main(int argc, char* argv[]){
const int FISh_uzunligi=50;
string * Talaba;
char * Satr=(char*)malloc(FISh_uzunligi);
unsigned int talabalar_soni;
char son[3];
do {
cout<<"Talabalar sonini kiriting: ";
cin>>son; }
while((talabalar_soni=atoi(son))<=0);
Talaba =new string[talabalar_soni];
cin.ignore();
for(int i=0; i
cout<
cin.getline(Satr,50);
Talaba[i].assign(Satr); }
bool almashdi=true;
for(int i=0; i
almashdi=false;
for(int j=i; j
if(Talaba[j].compare(Talaba[j+1])>0) {
almashdi=true;
strcpy(Satr,Talaba[j].data());
Talaba[j].assign(Talaba[j+1]);
Talaba[j+1].assign(Satr); } }
cout<<"Alfavit bo'yicha tartiblangan ro'yxat:\n";
for(int i=0; i
cout<
delete [] Talaba; free(Satr); return 0; }
Programmada talabalar ro‘yxati string turidagi Talaba dinamik massiv ko‘rinishida e’lon qilingan va uning o‘lchami foydalanuvchi tomonidan kiritilgan talabar_soni bilan aniqlanadi. Talabalar sonini kiritishda nazorat qilinadi: klaviaturadan satr o‘qiladi va u atoi() funksiyasi yordamida songa aylantiriladi. Agar hosil bo‘lgan son noldan katta son bo‘lmasa, sonni kiritish jarayoni takrorlanadi. Talabalar soni aniq bo‘lgandan keyin har bir talabaning familiya, ismi va sharifi bitta satr sifatida oqimdan o‘qiladi. Keyin, string turida aniqlangan compare() funksiyasi yordamida massivdagi satr-lar o‘zaro solishtiriladi va mos o‘rindagi belgilar kodlarini o‘sishi bo‘yicha «pufakchali saralash» orqali tartiblanadi. Programma oxirida hosil bo‘lgan massiv chop etiladi, hamda dinamik massivlar yo‘qotiladi.
Satr xossalarini aniqlash funksiyalari
string sinfida satr uzunligi, uning bo‘shligini yoki egallagan xotira hajmini aniqlaydigan funksiyalar bor:
unsigned int size()const; // satr o‘lchami
unsigned int length()const; // satr elementlar soni
unsigned int max_size()const; // satrning maksimal uzunligi(4294967295)
unsigned int capacity()const;// satr egallagan xotira hajmi
bool empty()const; // true, agar satr bo‘sh bo‘lsa
Nazorat savollari
C++ dasturida nechta funksiya bo’ladi?
Kutubxonalr nima?
String turi qaysi kutubxonada joylashgan?
String turi bilovchi qanday funksiyalarni bilasiz?
Nomlangan nomalar sohasi nima?
O’zgaruvchilar nima uchun qo’llaniladi?
Qanday o’zgaruvchi turlari bor?
O’zgaruvchilar qanday qiymatlar qabul qiladi?
Kiritish operatori qanday ishlaydi?
Do'stlaringiz bilan baham: |