Войти Регистрация

Docx

  • Рефераты
  • Дипломные работы
  • Прочее
    • Презентации
    • Рефераты
    • Курсовые работы
    • Дипломные работы
    • Диссертациии
    • Образовательные программы
    • Инфографика
    • Книги
    • Тесты

Информация о документе

Цена 2000UZS
Размер 44.2KB
Покупки 0
Дата загрузки 07 Ноябрь 2026
Расширение docx
Раздел Рефераты
Предмет Информатика и ИТ

Продавец

Bohodir Jalolov

Satr bilan ishlovchi funksiyalardan foydalanib dasturlar tuzish

Купить
MAVZU: SATR BILAN ISHLOVCHI FUNKSIYALARDAN FOYDALANIB
DASTURLAR TUZISH.
REJA
1. C++ DASTURLASH TILIDA SATR TURI VA   ULARDAN FOYDALANISH  
USULLARI
2. C++   DASTURLASH   TILIDA   STRING   TURIGA   MANSUB   BO’LGAN SATRLI
O’ZGARUVCHILAR
3.String turdagi satrlar ustida amallar bajarish 1. C++ DASTURLASH TILIDA SATR TURI VA   ULARDAN 
FOYDALANISH   USULLARI
Belgi va satrlar
C++ dasturlash tilida bir nechta turlardan foydalanish va ular ustida amallar
bajarish mimkin, dasturlash muhitida boshqa turlar kabi belgili turlar ham mavjud.
C++   dasturlash   tilida   belgili   turlar   char   turiga   mansub   bo’lgan   yagona   elementli   tur
hisoblanadi.   C++   dasturlash   tilida   satrlar   uchun   alohida   maxsus   turlar   ishlab
chiqilmagan satrlarni belgilar massivi sifatida ishlatish imkoniyati   mavjud.
Ta‘rif: Alohida nom bilan saqlanuvchi bir nechta belgilardan tashkil topgan
belgilar majmuasi satr deyiladi.
Satrlarni belgilar massivi sifatida qarab ular ustida amallar bajarish mumkin.
C++   dasturlash   tilida   satrlar   nol(‘\0‘)   terminatori   bilan   tugaydi.   Nol   terminatori
bilan tugaydigan satrlar ASCIIZ –satrlari deyiladi.
Satrlardan   foydalanish   va   ular   ustida   amallar   bajarish   uchun   albatta   oldin
ularni   e‘lon   qilish   kerak.   Satr   turiga   mansub   bo’lgan   o’zgaruvchilarni   char
xizmatchi   so’zi   orqali   e‘lon   qilinadi.   Satrlarni   e‘lon   qilish   uchun   quyidagi
dasturlarga etibor bering.
Yuqoridagi  dastur tarkibida  s[10] satr o’zgaruvchisi  9 ta     elementga  va
bitta   nol   terminatoriga   mo’ljallangan.   Satrlarni   boshlang‘ich   qiymatlarini   berish
jarayonida   uning   elementlar   sonini   berish   shart   emas.   Agar   satrlarni   elementlar
soni   berilmasa   dastur   avtomatik   ravishda   uning   elementlar   soniga   boshlang‘ich
qiymatdagi elementlar sonidan bitta ortiq qilib ta‘minlaydi, chunki oxiriga bitta   nol#include <iostream.h>
#include <string.h> 
using namespace std; 
int main()
{ char s[10]; // s satrli o’zgaruvchini e‘lon qilish 
return 0;
} terminatorini   hisobga   oladi.   Doim   satrlarni   kiritishda   uning   elementlar   soni   e‘lon
qilinganidan   oshib   ketmasligi   kerak   aks   holda   faqat   e‘lon   qilingan   elementlar
soniga teng elementlarni saqlab qolinib qolganlari olinmaydi.
Satrlarni kiritish   jarayonida >> oqim bo’yicha kiritishdan foydalanmasdan
getline()   funksiyasidan   foydalanish   maqsadga   muvofiq   bo’ladi.   Agar   oqim
bo’yicha   kiritishdan   foydalanilsa   unda   probellar   inkor   qilinib   satrni   ikkinchi
qismlari   qabul   qilinmaydi.   getline(s,n)   funksiyasi   ikkita   parametrni   o’z   ichiga
oladi,   birinchisi   s   satr   o’zgaruvchisi   ikkinchisi   n   satr   elementlar   soni.   Getline
funksiyasi satr elementlaridan ortiq qiymatlarni ham kiritish imkoniyatini yaratadi,
natijada satr elementlari ortadi. Kiritish jarayonini amalga oshirish uchun quyidagi
dasturlarga etibor bering.
Misol:  Berilgan satrni ekranga chiqaring.
#include 
<iostream.h> 
#include <string.h> 
using namespace std; 
int main()
{ char s[10]; // s satrli o’zgaruvchini e‘lon qilish 
cin.getline(s,10);
cout<<
s; return 
0;
}
Kiritish ma‘lumotlari
Absdefghl Dastur natijasi
Absdefghl
Yuqoridagi  dastur  tarkibidagi  s satrli o’zgaruvchi  faqat  9 ta elementni  qbul
qiladi, agar 9 tadan ortiq bo’lsa natija qaytarmaydi.
Satr uzunligini aniqlash
Satrlar   ustida   amallar   bajarish   vaqtida   albatta   satrlarning   uzunligi   kerak
bo’ladi.   Satr   uzunligini   aniqlash   uchun   string.h   kutubhonasiga   murojat   qilish
kerak   aksariyat   satr   uchun   ishlatiladigan   funksiyalarni   string.h   kutubhonasiga
murojat   qilib   ishlatishimiz   mumkin.   Satr   uzunligini   aniqlashni   ikki   hil   usuli
mavjud.
-satr tarkibidagi mavjud elementlar sonini nol terminatorisiz aniqlash;
-satr tarkibidagi elementlarga ajratilgan sonini nol terminatori bilan aniqlash; Satr tarkibidagi mavjud elementlar sonini nol terminatorisiz aniqlash
funksiyasining umumiy ko’rinishi quyidagicha   bo’ladi.
strlen(<satrli o’zgaruvchi>);
Strlen funksiyasi o’z tarkibiga satrli o’zgaruvchi yoki satr uzini qabul qilishi 
mumkin. Masalan strlen (―absd ) bo’lsa uning natijasi 4 ga teng bo’ladi.‖
Misol:  Berilgan satr tarkibidagi elementlar sonini aniqlang..
#include 
<iostream.h> 
#include <string.h> 
using namespace std; 
int main()
{ char s[10]; 
cin.getline(s,1
0);
x=strlen(
s); cout<<x; 
return 0;
}
Kiritish ma‘lumotlari
Dastur Dastur natijasi
5
Demak   strlen(s)   funksiyasi   s   satrni   tarkibidagi   mavjud   elementlari   sonini
aniqlaydi.
Satr   tarkibidagi   elementlarga   ajratilgan   sonini   nol   terminatori     bilan
aniqlash   uchun   sizeof(s)   funksiyasidan   foydaliniladi.   Sizeof(s)   funksiyasi   s   satr
uchun ajratilgan elementlar sonini aniqlaydi, s satrni 10 ta elementga moslab e‘lon
qilib lekin 5 ta element kiritilsa ham sizeof funksiyasi 10 qiymatni qaytaradi. Satr
tarkibidagi   elementlarga   ajratilgan   sonini   nol   terminatori   bilan   aniqlash
funksiyasining umumiy ko’rinishi quyidagicha   bo’ladi.
sizeof(<satrli o’zgaruvchi>);
Sizeof   funksiyasi   o’z   tarkibiga   satrli   o’zgaruvchi   yoki   satr   uzini   qabul   qilishi
mumkin.   Masalan   strlen   (―absd )
‖   bo’lsa   uning   natijasi   5   ga   teng   bo’ladi.
1. C++   DASTURLASH   TILIDA   STRING   TURIGA   MANSUB   BO’LGAN 
SATRLI   O’ZGARUVCHILAR
String turidagi o’zgaruvchilarni e’lon qilish
C++   dasturlash   tilida   string   turidagi   o’zgaruvchilarni   e‘lon   qilish   uchun string xizmatchi so’zi orqali amalga oshiriladi.
string s,s1;
String turiga mansub bo’lgan satrlar ustida amallar bajarish imkoniyati C++
dasturlash tilida keng imkoniyatga ega. C++ dasturlash tilida string turiga mansub
bo’lgan   satrlarni   boshlang‘ich   qiymatlarini   bir   nechta   usullarda   berish   mumkin.
String turidagi satrlarni boshlang‘ich qiymatlarini berish jarayonini quyidagi dastur
orqali qaraymiz:
#include <iostream.h>
#include <string.h> 
using namespace std; 
int main()
{   string s,s1; // s va s1 larni e‘lon qilish 
s="dastur"; // s ni boshlang‘ich qiymatini   berish String turidagi satrlar ustida amallar bajarish uchun uning elementlari bilan
ishlashga   to’g‘ri   keladi.   String   turidagi   satrlarni   har   bir   elementlariga   murojat
qilish uchun at() funksiyasi yoki oddiy [] elementga murojat qilish orqali murojat
qilinadi. Masalan s.at(3) s satrning uchinchi elementiga murojat qilinadi. s.at(3) va
s[3] holatlari teng kuchli   hisoblanadi.
Satrlarni   ixtiyoriy   elementiga   murojat   qilish   uchun   doimo   bitta   kam   qilib
buyruq berish kerak, chunki  satrlar  belgili  massiv  bo’lganligi uchun boshlang‘ich
element nolinchi o’rindan boshlanadi.
Misol:  Berilgan satrni ixtiyoriy elementini ekranga chiqaring.
#include 
<iostream.h> 
#include <string.h> 
using namespace std; 
int main()
{ string s; int n;
cin>>s;
cin>>n;
cout<<s.at(n-
1);
return 0;
}
Kiritish ma‘lumotlari
s=dast
ur n=3 Dastur natijasi
S
Demak, satrlarni yuqoridagi qoidalarga asoslanib e‘lon qilib uning ixtiyoriy
elementlariga ta‘sir qilish mumkin. s1=s; // s1 ni boshlang‘ich qiymatini berish
return 0;
} 3.String turdagi satrlar ustida amallar bajarish
C++ dasturlash tilida string turdagi satrlar ustida bir nechta amallar bajarish
mumkin. String satrlarini char tipidagi satrlardan afzalliklari bir qancha amallarni
bajarish   inkoniyati   kengdir.   C++   dasturlash   tilida   string   satrlari   ustida   quyidagi
amallarni bajarish mumkin:
Amal Mazmu
ni Mis
ol
=,+= Qiymat berish amaliS=	‖d
a s tu r	; ‖
s	
+=	‖a b s d	;‖
s1=s; + Satrlarni ulash s=s+s1
==,!
=,<,>,<=,>= Satrlarni solishtirish amallari
s==
s1 
s>=
s1
s==s1 && s<s1
[
] Indeks berish s[2]
<
< Oqimga chiqarish cout<<s;
>> Oqimdan o’qish cin>>s1;
3.
String turidagi satrlarni nusxalash
String turidagi satrlarni nusxalash uchun assign() funksiyasidan
foydalaniladi.   Assign()   funksiyasining   umumiy   ko’rinishi   quyidagicha   bo’ladi:
<s1>.assign(<s2>);
Assign funksiyasi s2 satrni s1 satrga nusxalash amalini bajaradi.
Misol:  s2 satrni s1 satrga nusxalash amalini bajaring.
#include 
<iostream.h> 
#include <string.h> 
using namespace std; 
int main()
{ string  s1,s2;
cin>>s2;
s1.assign(s2); // s1=s2 amaliga teng 
kuchli cout<<s1;
return 0;
}
Kiritish ma‘lumotlari
S2=dastur Dastur natijasi
Dastur
Bu funksiyaning quyidagi ko’rinishlaridan foydalaniladi.
a) satr2. assign (satr1);  ko’rinishi. Bu holda funksiya satr1ni to’liq satr2 ga
nusxalaydi.   Agar   satr2   initsializatsiyalangan   bo’lsa   ham   uning   oldingi   qiymati
unutiladi. b) satr2.   assign   (satr1,n,m);   ko’rinishi.   Ushbu   variantida   funksiya   satr1ning
n- belgisidan keyingi m ta belgisini satr2 ga nusxalaydi.n-belgisi   kirmaydi.
c) satr2. assign (satr1,n);   ko’rinishi. Bu holda satr1 char turli satrli massiv
bo’lishi kerak.  Funksiya char turli massivni string turiga aylantirib, uning   dastlabki n ta belgisini satr2 ga nusxalaydi. Barcha variantlaridan foydalanish usullari 
quyidagi dasturda o’z aksini topgan.
Satrning biror qismidan nusxa olish funksiyasi
Bu amalni bajarish uchun satr1.substr(n,m) funksiyasidan foydalaniladi.
Funksiyaning quyidagicha ko’rinishlari mavjud.
a) satr1.substr(n,m).  Bunda  satr1  qismidan nusxa olinayotgan satr bo’lib, 
funksiya shu satrning  n -belgisidan keyingi  m  ta belgisidan nusxa   oladi;
b) satr1.substr(n)   ko’rinishida   foydalanilsa   satr1   satrning   n -belgisidan
oxirigacha nusxa   olinadi;
c) satr1.substr()   ko’rinishidan   foydalanilganda   esa   satr1 dan   to’liq   nusxa
olinadi. Bu holda funksiyaning qiymati qandaydir  string  turli o’zgaruvchiga 
berilishi kerak.
Satrning oxiriga boshqa satrni o’rnatish
String   turidagi   satrni   qismiga   boshqa   satrni   o’rnatish   uchun   append()
funksiyasidan   foydalaniladi.   append()   funksiyasining   umumiy   ko’rinishi
quyidagicha bo’ladi.
s1.append(s2,n,m);
Append funksiyasi s2 satrni n-elementidan m ta elementni s1 satr oxiriga 
o’rnatish amalini bajaradi.
Misol:  s2 satrni ikkinchi elementidan uchtasini s1 satrga o’rnating amalini 
bajaring.
#include 
<iostream.h> 
#include <string.h> 
using namespace std; 
int main()
{ string s1,s2; 
cin>>s1;  
cin>>s2;
s1.append(s2,2,
3); cout<<s1;
return 0;
}
Kiritish ma‘lumotlari
S1=dast
ur 
S2=amal Dastur natijasi
Dastural
S2 satrning ikkinchi elementida a joylashgan, chunki satr nolinchidan  boshlangan.
Bu funksiyani quyidagi ko’rinishlari mavjud: a) satr2. append (satr1);   ko’rinishidan foydalanilganda satr2 ning oxiridan
satr1 ulanadi. Agar satr2 initsializatsiya qilinmagan bo’lsa, satr2 o’zgaruvchi satr1
o’zgaruvchining qiymatini   oladi;
b) satr2.   append   (satr1,n,m);   ko’rinishidan   foydalanilganda   satr1ning   n   –
belgisidan keyingi m ta belgisi satr2 ning oxiridan   ulanadi;
c) satr2.   append   (satr1,n);   ko’rinishidan   foydalanilganda   satr1   char   turli
massiv   bo’lishi   kerak.   Funksiya   char   turli   satr1ni   string   turga   aylantirib,   uning
dastlabki n ta belgisini satr2 oxiridan ulaydi.
Funksiyaning   vazifasini   o’zlashtirish   uchun   quyidagi   dastur   va   uning
natijasini tahlil qiling.
#include 
<iostream.h> 
#include <string.h> 
using namespace 
std; int main()
{ int j,i,s,n,m;
string s1="matnniulash",s3,s4="bo’lakni",s5,s7="bizning
",s2="matnga   ";
char s6[]="assalom"; s2.append(s1);cout<<"s2="<<s2<<'\n'; 
s3.append(s1);cout<<"s3="<<s3<<'\n';
s4.append(s1,6,6);cout<<"s4="<<s4<<'\n' ; 
s5.append(s6,4);cout<<"s5="<<s5<<'\n'; 
s7.append("maktabdosh",6);cout<<"s7="<<s7<<'\n'; 
system("pause");
return 0;
}
Dastur natijasi quyidagicha bo’ladi 
s2=matnga matnni ulash
s3=matnni ulash 	
s4=bo’lakni ulash 
s5=assa
s7=bizning maktab
Satr tarkibiga boshqa satrni joylashtirish
String   turidagi   satrni   qismiga   boshqa   satrni   o’rnatish   uchun   insert()
funksiyasidan   foydalaniladi.   insert()   funksiyasining   umumiy   ko’rinishi
quyidagicha   bo’ladi.
Satr xossalarini aniqlash funksiyalari Satrning xossalarini aniqlash uchun quyidagi funksiyalardan foydalaniladi.
x=satr.size();  funksiyasi  satr  ning o’lchamini aniqlaydi. 
x=satr.length();  funksiyasi  satr  ning belgilari sonini aniqlaydi. 
x=satr.max_size();  funksiyasi  satr  ning maksimal o’lchamini aniqlaydi. 
x=satr.capacity();  funksiyasi  satr  ning xotirada egallagan joyi hajmini
aniqlaydi.
x=satr.empty();   funksiyasi   qiymati   bool   turli   bo’lib,   agar   satr   bo’sh   bo’lsa, 
funksiya qiymati  true , aks holda  false  bo’ladi.  Quyidagi dasturni va uning 
natijalarini tahlil   qling.
#include 
<iostream.h> 
#include <string.h> 
using namespace 
std; int main()
{ int z,n,m,t,s6,s7,s8;bool x,y;float s5;
string s1="daraja 
ko’rsatkichida",s2="ABCDEF",s3="ABCD"; string 
s4="daraja ko’rsat",s9="ab87,/+|",s10="";
s5=s9.size(); cout<<"s5="<<s5; 
s6=s9.length(); cout<<" s6="<<s6; 
s8=s10.max_size(); cout<<" s8="<<s8; 
s7=s9.capacity(); cout<<" s7="<<s7<<'\
n'; x=s9.empty(); cout<<" x="<<x; 
y=s10.empty(); cout<<" y="<<y<<'\n'; 
system("pause");
return 0;
}
Dastur natijasi quyidagicha bo’ladi 
s5=8 s6=8 s8=1073741820
s7=8
x=0 y=1 FOY DA LA N ILGA N  ADA BIY OTLA R .
1. Стефан Р.Девис. С++ для чайников. Диаликтика. Москва  2003. 337 с.
2.   2.Страуструп   Б.   Язик   программирования   С++.   Специальное
издание.   –
Москва 1997. -1055 с.
3.Фролов А.Б. Фролов Г.Б. Язик С# Самоучитель. Москва 2003.-559 с.
4.Герберт Ш. С++ Базовый курс.
5. Google ma’lumotlari

Satr bilan ishlovchi funksiyalardan foydalanib dasturlar tuzish

Купить
  • Похожие документы

  • 3d-max dasturida obektlarni yaratish
  • Algoritm va ma’lumotlar strukturasi
  • 3D-MAX dasturi haqida
  • 3D Studio MAX dasturiga kirish. 3D Studio MAX dasturi haqida tushuncha
  • Adobe photoshop dasturida tasvirlarda ishlov berish,taqdimot yaratish

Подтвердить покупку

Да Нет

© Copyright 2019-2026.

  • Инструкция по снятию с баланса
  • Контакты
  • Инструкция использования сайта
  • Инструкция загрузки документов
  • O'zbekcha