R. A. Ro‘ziyev, U. M. Mirsanov, F. J. Toxirov, L. S. Isroilova, H. N. Arziqulov


Download 1.27 Mb.
bet31/45
Sana14.10.2023
Hajmi1.27 Mb.
#1703549
1   ...   27   28   29   30   31   32   33   34   ...   45
Bog'liq
C qo`llanma 29.06

1-misol. Kamida 100 ta raqamdan iborat bo‘lgan Mersen sonini hisoblash va ekranga chiqarish dasturi.
Berilgan masalaning dastur kodi quyidagicha:
#include
#include
using namespace std;
void Done(int);
int a[100000], *aP, c[100000], *cP, Len=1;
int main(){
int Simple, i;
aP=a;
Simple=pow(2,11)-1;
*aP=1;
Done(Simple);
--*aP;
aP+=Len-1;
for (i=Len-1; i>0; i--)
cout<<*aP--;
return 0;
}
void Done(int Power)
{
int i;
cP=c;
for (i=0; i
{
*cP=*cP+*aP*2;
if (*cP>9) { *(cP+1)+=(*cP/10); *cP%=10; }
aP++;
cP++;
}
while (c[Len]==0 &&Len>0) Len--;
Len++;
aP=a;
cP=c;
for (i=0; i
{
*aP++=c[i];
*cP++=0;
}
aP=a;
--Power;
if (Power==0) return; else Done(Power);
}
2-misol. Butun N soni berilgan (3≤N≤200000000). N soni tub yoki tub emasligini aniqlash dasturi.
Berilgan masalaning dastur kodi quyidagicha:
#include
#include
using namespace std;
long N, i, j, Simple[1000000], *sP, *tempP, p, pos;
int main()
{
cin>>N;
sP=Simple;
for (i=2; i
{
for (j=2; j
if (i%j==0)
{
p=1;
break;
}
if (p==0)
{
*sP=i;
sP++;
} else p=0;
}
tempP=sP--;
sP=Simple;
while (sP!=tempP)
if (N%*sP==0)
{
p=1;
break;
}
else sP++;
if (p==1) cout<<"Tub son emas.";
else cout<<"Tub son.";
return 0;
}
3-misol. Berilgan massiv elementlarini tanlash usulida ko‘rsatkichlar yordamida saralash dasturi.
Berilgan masalaning dastur kodi quyidagicha:
#include
using namespace std;
int main(){
int array[100], *aP, *startP, *minP, *point, size, i;
int min, temp;
cin>>size;
aP=array;
for (i=0; i
cin>>*aP++;
startP=array;
while (startP!=aP)
{
min=*startP;
minP=startP;
point=startP;
while (point!=aP)
{
if (*point
{
min=*startP;
minP=startP;
}
point++;
}
point--;
if (minP!=startP)
{
temp=*startP;
*startP=*minP;
*minP=temp;
}
startP++;}
aP=array;
for (i=0; i
cout<<*aP++<<" ";
return 0;
}
Mustaqil bajarish uchun topshiriqlar
1. int toifasidagi ko‘rsatkichni e’lon qilish dasturini tuzing.
2. char toifasidagi ko‘rsatkichni e’lon qilish dasturini tuzing.
3. double toifasidagi ko‘rsatkichni e’lon qilish dasturini tuzing.
4. Ko‘rsatkichni manzil qiymatini aniqlovchi dastur tuzing.
5. Ko‘rsatkich joylashgan manzilni aniqlovchi dastur tuzing.
6. Berilgan n soni tub ekanligini tekshiruvchi dastur tuzing.
7. Massiv elementlarini o‘sish tartibida saralovchi dastur tuzing.
8. Berilgan a va b (a butun sonlar oralig‘idagi tub sonlarni chiqaruvchi dastur tuzing.
9. n (n>0) butun son berilgan. n ta tub sonlarni chiqaruvchi dastur tuzing.
10. Rim raqamlarida berilgan sonni arab raqamlarida ifodalovchi dastur tuzing.


2.6-§. C++ dasturlash tilida satrlar va ular ustida amallar


C++ dasturlash tilida ikki xil belgilar majmuasini mujassamlashtirgan. Birinchi toifaga, an’anaviy, ya’ni, tor belgilar deb nomlanuvchi 8 bitli, ikkinchisiga esa 16 bitli belgilar kiradi. Til kutubxonasida har bir guruh belgilari uchun maxsus funksiyalar to‘plami mavjud.
Satrni char turidagi belgilar massivi sifatida qarash mumkin va bu belgilar ketma-ketligi nol kodli belgi bilan tugaydi (‘\0’). Odatda, nol bilan tugaydigan satrlarni ASCIIZ – satrlar deyiladi.
Shuningdek, C++ dasturlash tilida satrlar bilan ishlashni qulaylashtirish uchun string sinfi kiritilgan. String sinfida satr oxirida ‘\0’ belgi qo‘yish talab etilmaydi.
Satrli o‘zgarmas deb – qo‘shtirnoqlar ichiga olingan belgilar ketma-ketligiga aytiladi. Qo‘shtirnoqlar ichidagi belgilar ketma-ketligiga satr deyiladi.
Quyida C++ dasturlash tilida belgi sifatida ishlatilishi mumkin bo‘lgan o‘zgarmaslar to‘plami keltirilgan:

  • katta harflar – ‘A’ …’Z’, ‘A’…’Я’;

  • kichik harflar – ‘a’ …’z’, ‘a’…’я’;

  • raqamlar – ‘0’ …’9’;

  • gorizontal bo‘sh joy qoldirish (ASCII kodi 9), satrni o‘tkazish (ASCII kodi 10), vertikal bo‘sh joy qoldirish (ASCII kodi 11), formani o‘tkazish (ASCII kodi 12), navbatdagi satrga o‘tkazish (ASCII kodi 13);

  • punktuatsiya belgilari (ajratuvchilar) ! ” # $ & ‘ ( ) * + - , . / : ; < = > ? @ [ \ ] ^ _ { | } ~ ;

  • boshqaruv belgilari ASCII kodi 0...1Fh oralig‘ida va 7Fh bo‘lgan belgilar;

  • bo‘sh joy ASCII kodi 32 bo‘lgan belgi;

  • o‘n oltilik raqamlar ‘0’…’9’, ‘A’…’F’, ‘a’…’f’.


Download 1.27 Mb.

Do'stlaringiz bilan baham:
1   ...   27   28   29   30   31   32   33   34   ...   45




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