Ikki o`lchovli massivlar matematikada matritsa yoki jadval tushunchasiga mos keladi. Jadvallarning initsializatsiya qilish qoidasi, ikki o’lchovli massivning elementlari massivlardan iborat bo’lgan bir o’lchovli massiv ta'rifiga asoslangandir. Misol uchun ikki qator va uch ustundan iborat bo’lgan haqiqiy tipga tegishli d massiv boshlang’ich qiymatlari qo’yidagicha ko’rsatilishi mumkin:
float d[2][3]={(1,-2.5,10),(-5.3,2,14)};
Bu yozuv quyidagi qiymat berish operatorlariga mosdir:
d[0][0]=1; d[0][1]=-2.5; d[0][2]=10; d[1][0]=-5.3; d[1][1]=2; d[1][2]=14;
Bu qiymatlarni bitta ro’yxat bilan hosil qilish mumkin:
float d[2][3]={1,-2.5,10,-5.3,2,14};
Initsializatsiya yordamida boshlang’ich qiymatlar aniqlanganda massivning hamma elementlariga qiymat berish shart emas.
Misol uchun: int x[3][3]={(1,-2,3),(1,2),(-4)}.
Bu yozuv qo’yidagi qiymat berish operatorlariga mosdir:
x[0][0]=1; x[0][1]=-2; x[0][2]=3; x[1][0]=-1; x[1][1]=2; x[2][0]=-4;
Initsializatsiya yordamida boshlang’ich qiymatlar aniqlanganda massivning birinchi indeksi chegarasi ko’rsatilishi shart emas, lekin qolgan indekslar chegaralari ko’rsatilishi shart.
Misol uchun:
Double x[][2]={(1.1,1.5), (-1.6,2.5), (3,-4)}
Bu misolda avtomatik ravishda qatorlar soni uchga teng deb olinadi.
Qo’yidagi ko’radigan misolimizda jadval kiritilib har bir qatorning maksimal elementi aniqlanadi va bu elementlar orasida eng kichigi aniqlanadi:
#include void main()
{ double a[4,3]; double s, max=0.0, min=0.0; int i, j;
for(i=0; i<4; i++)
{
for(j=0; j<3; j++)
{ Cout<<(“ a[%d][%d]=”,i,j); Cin>>(“%f”,s);
a[i,j]=s;
if (max};
Cout<<(“\n”);
if (max}
Cout<<(“\n min=%f”,min);
}
Simvolli massivlar.
C++ tilida satrlar simvolli massivlar sifatida ta'riflanadi. Simvolli massivlar qo’yidagicha tasvirlanishi mumkin: Char pas[10];
Simvolli massivlar qo’yidagicha initsializatsiya qilinadi:
Char capital[] = “TASHKENT”; Bu holda avtomatik ravishda massiv elementlari soni aniqlanadi va massiv oxiriga satr ko’chirish ‘\n’ simvoli qo’shiladi.
Yuqoridagi initsializatsiyani qo’yidagicha amalga oshirish mumkin:
Char capital[]={‘T’,’A’,’S’,’H’,’K’,’E’,’N’,’T’,’\n’};
Bu holda so’z oxirida ‘\n’ simvoli aniq ko’rsatilishi shart.
Misol uchun palindrom masalasini ko’rib chiqamiz. Palindrom deb oldidan ham oxiridan ham bir xil o’qiladigan so’zlarga aytiladi. Misol uchun non. Dasturda kiritilgan so’z palindrom ekanligi aniqlanadi:
#include void main()
{
gets(a);
for( int j=0, a[j]!=’\0’;j++); I=0;
while(Iif ((j-I)>1) Cout<<(“Palindrom emas”) else Cout<<(“Palindrom”);
Keyingi misolda kiritilgan so’zdan berilgan harf olib tashlash dasturi berilgan:
#include void main()
{
char s[]; int c; gets(a); int i, j;
for ( i = j = 0; s[i] != '\0'; i++) if ( s[i] != c )
s[j++] = s[i];
s[j] = '\0'; puts(s);
}
Har gal 's' dan farqli simvol uchraganda, u j pozitsiyaga yoziladi va
faqat shundan so’ng j qiymati 1 ga oshadi. Bu qo’yidagi yozuvga ekvivalent:
if ( s[i] != c )
s[j] = s[i]; j++;