2. Satrlarni ulash Satrlarni solishtirish funksiyalari. Satrda belgini izlash, Satr kismlarini izlash funksiyalari


) S satrida S1 satr ostini kirish urnini aniklash; 2)



Download 59,74 Kb.
bet12/17
Sana29.12.2021
Hajmi59,74 Kb.
#75815
1   ...   9   10   11   12   13   14   15   16   17
Bog'liq
1-Maruza

1) S satrida S1 satr ostini kirish urnini aniklash;

2) S satridan S1 satr ostini uchirish;

3) S satrida S1 satr osti urniga S2 satr ostini urnatish.

Garchi bu masala ostilarining echimlari C++ tilning standart

kutubxonalarida funksiyalar kurinishida mavjud bulsa xam, ular

kodini kayta yozish foydalanuvchiga bu amallarning ichki moxiyatini

tushunishga imkon beradi. Kuyida masala echimining programma

matni keltirilgan:


#include

#include

using namespace std;

const int n=80;

int Izlash(char*,char*);

void Qirqish(char*,int,int);

void Joylash(char*,char*,int);

int main()

{

char Satr[n],Satr1[n],Satr2[n];



cout <<"Satrni kiriting";

cin.getline(Satr,n);

cout <<"Almashtiriladigan satr ostini kiriting";

cin.getline (Satr1,n);

cout <

cin.getline(Satr2,n);

int Satr1_uzunligi=strlen(Satr1);

int Satr_osti_joyi;

do

{

Satr_osti_joyi=Izlash(Satr,Satr1);



if(Satr_osti_joyi!=-1)

{

Qirqish(Satr,Satr_osti_joyi , Satr1_uzunligi);



Joylash (Satr,Satr2,Satr_osti_joyi);

}

} while (Satr_osti_joyi!=-1);



cout <<"Almashtirish natijasi: "<

return 0;

}

int Izlash (char satr[],char satr_osti[])



{

int satr_farqi=strlen(satr)-strlen(satr_osti);

if(satr_farqi>=0)

{

for(int i=0; i<=satr_farqi;i++)



{

bool ustma_ust=true;

for(int j=0; satr_osti[j]!='\0'&& ustma_ust;j++)

if(satr[i+j]!=satr_osti[j])ustma_ust= false;

if(ustma_ust) return i;

}

}



return -1;

}

void Qirqish (char satr[],int joy,int qirqish_soni)



{

int satr_uzunligi=strlen(satr);

if(joy

{

if(joy+qirqish_soni>=satr_uzunligi)satr[joy]='\0';



else

for (int i=0;satr[joy+i-1]!='\0';i++)

satr[joy +i]=satr [joy+qirqish_soni+i];

}

}



void Joylash(char satr [ ],char satr_osti[],int joy)

{

char vaqtincha[n];



strcpy(vaqtincha,satr+joy);

satr[joy]='\0';

strcat(satr,satr_osti);

strcat(satr,vaqtincha);

}

Programma ishlashi natijasida ekranga



Satrni kiriting salom talabalar dastur juda qiziq

Almashtiriladigan satr ostini kiriting juda

juda Qo'yiladigan satrni kiriting qiziq

Almashtirish natijasi: salom talabalar dastur qiziq qiziq


Programmada xar bir masala ostiga mos funksiyalar tuzilgan:

1) int Izlash(char satr[],char satr osti[]) - funksiyasi satr satriga

satr osti satrining chap tomondan birinchi kirishining urnini kaytaradi. Agar satr satrida satr osti uchramasa -1 kiymatini kaytaradi.

2) void Qirqish(char satr[],int joy,int qirqishsoni) - funksiyasi satr satrining joy Urnidan boshlab qirqish_soni sondagi belgilarni kirkib tashlaydi. Funksiya natijasi satr satrida xosil buladi;

3) void Joylash(char satr[],char satr_osti[],int joy) - funksiyasi satr satriga, uning joy Urnidan boshlab satr osti satrini joylashtiradi.

Bosh funksiyada satr (S), unda almashtiriladigan satr (S1) va S1 Urniga joylashtiriladsh an saxr (S2) okimdan ukiladi. Takrorlash operatori bajarilishining xar bir kadamida S satrining chap tomonidan boshlab S1 satri izlanadi. Agar S satrida S1 mavjud bulsa, u kirkiladi va shu uringa S2 satri joylashtiriladi. Takrorlash jarayoni Izlash() funksiyasi -1 kiymatini kaytarguncha davom etadi.




Download 59,74 Kb.

Do'stlaringiz bilan baham:
1   ...   9   10   11   12   13   14   15   16   17




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish