– DARS. SO’ZLAR MASSIVLARI - 1 – dars. C++ Dasturlash tilining kelib chiqishi xaqida ma’lumot

|
1 – dars. C++ Dasturlash tilining kelib chiqishi xaqida ma’lumot
|
bet | 30/89 | Sana | 16.11.2023 | Hajmi | 313,45 Kb. | | #100010 |
Bog'liq @AKT Official C haqida o\'zbekcha darslar majmui29 – DARS. SO’ZLAR MASSIVLARI.
C ++ tilida so’zlar massivlari ikki o’lchovli simvolli massivlar sifatida ta'riflanadi. Misol uchun:
Char Name[4][5].
Bu ta'rif yordamida har biri 5 ta harfdan iborat bo’lgan 4 ta so’zli massiv kiritiladi. So’zlar massivlari qo’yidagicha initsializatsiya qilinishi mumkin:
Char Name[3][8]={“Anvar”,”Mirkomil”,”Yusuf”}.
Bu ta'rifda har bir so’z uchun hotiradan 8 bayt joy ajratiladi va har bir so’z ohiriga ‘\0’ belgisi qo’yiladi.
So’zlar massivlari initsializatsiya qilinganda so’zlar soni ko’rsatilmasligi mumkin. Bu holda so’zlar soni avtomatik aniqlanadi:
Char comp[][9]={“komp'yuter”,”printer”,”kartridj”}.
Quyidagi dasturda berilgan harf bilan boshlanuvchi so’zlar ruyhati bosib chiqariladi:
#include
void main()
{ char a[10][10];
char c;
for (int i=0;i<10;i++) gets(a[i]);
c=getchar();
for (i=0;i<10;i++) if (a[i][0]==c) puts(a[i]);
}
Qo’yidagi dasturda fan nomi, talabalar ruyhati va ularning baholari kiritiladi. Dastur bajarilganda ikki olgan talabalar ruyhati bosib chiqariladi:
#include
void main()
{ char a[10][10];
char s[10];
int k[10];
gets(s);
for (int i=0;i<10;i++) gets(a[i]);
for (i=0;i<10;i++) {Cin>>(“%d”,k[i]};
for (int i=0;i<10;i++) if (k[i]==2) puts(a[i]);
}
30 – DARS. KO’RSATKICHLAR MASSIVLARI.
Ko’rsatkichlar massivlari qo’yidagicha ta'riflanadi
*[]
Misol uchun int *pt[6] ta'rif int tipidagi ob'ektlarga olti elementli massivni kiritadi. Ko’rsatkichlar massivlari satrlar massivlarini tasvirlash uchun qulaydir. Misol uchun familiyalar ruyhatini kiritish uchun ikki ulchovli massivdan foydalani kerak. char fam[][20]={“Olimov”,”Rahimov”,”Ergashev”}
Hotirada 60 elementdan iborat bo’ladi, chunki har bir familiya gacha 0 lar bilan to’ldiriladi. Ko’rsatkichlar massivi yordamida bu massivni qo’yidagicha ta'riflash mumkin.
Char *pf[]= {“Olimov”,”Rahimov”,”Ergashev”}.
Bu holda ruyhat hotirada 23 elementdan iborat bo’ladi, chunki har bir familiya ohiriga 0 belgisi qo’yiladi
Ko’rsatkichlar massivlari murakkab elemenlarni sodda usulda tartiblashga imkon beradi. Quyidagi misolda matritsa satrlari birinchi elementlari o’sishi tartibida chiqariladi. Bu misolda yordamchi ko’rsatkichlar massivi yaratilib shu massiv tartiblanadi va massiv asosida matritsa elementlari chiqariladi.
# include
void main()
{int n=2;
int m=3;
array[][3]={(1,3,5),(3,1,4),(5,7,1)};
int *pa[n];
for (I=0;I
for (I=o;I
{for (int k=I=1;kif a[I][1]>a[k][1]
{ int *pp=pa[I];
pa[I]=pa[k];pa[k]=pp;};
for (I=0;I
{Cout<<(“\n%I”,I+1);
for (int j=0;jCout<<(“%I”,pa[I][j]);}
};
Ko’rsatkichlar massivlari funktsiyalarda matritsalar qiymatlarini o’zgartirish uchun mumkin. Qo’yidagi misolda matritsani transponirlash funktsiyasi ishlatiladi.
Void trans(int n,double *p[]);
{ double x;
for (int I=0;Ifor (int j=I+1;j{x=p[I][j];
p[I][j]=p[j][I];
p[j][I]=x;
}
};
void main()
{double a[3,3]={11,12,13,21,22,23,31,32,33};
double ptr={(double*)&a[0], (double*)&a[1], (double*)&a[2]};
int n=3;
trans(n,ptr);
for (int I=0;I{Cout<<(“\n %i”,i+1);
for (int j=0;jCout<<(“\n %f”,a[I][j]);
};
};
|
| |