265
Bu holda so`z oxirida `\n` simvoli aniq ko`rsatilishi shart. Masalan,
palindrom masalasini ko`rib chiqamiz. Palindrom deb
oldidan ham oxiridan ham
bir xil o`qiladigan so`zlarga aytiladi. Masalan, non. Dasturda kiritilgan so`z
palindrom ekanligi aniqlanadi:
52-listing.
Output:
#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 misolimizda kiritilgan so`zdan berilgan harf olib tashlash dasturi
berilgan:
53-listing.
Output:
#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 quyidagi yozuvga ekvivalent:
if ( s[i] != c )
266
s[j] = s[i];
j++;
So`zlar massivlari.
C ++ tilida so`zlar massivlari ikki o`lchovli
simvolli
massivlar sifatida ta`riflanadi. Masalan,
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 xotiradan 8 bayt joy ajratiladi va har bir so`z
oxiriga `\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 ro`yxati
bosib
chiqariladi:
54-listing.
Output:
#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]); }
Quyidagi dasturda fan nomi, talabalar ro`yxati va ularning baholari kiritiladi.
Dastur bajarilganda ikki olgan talabalar ro`yxati bosib chiqariladi:
55-listing.
Output:
#include
void main()
{ char a[10][10];
267
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]); }