Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Символдық массивтерді өңдеу

Автор:   •  Сентябрь 21, 2022  •  Контрольная работа  •  1,540 Слов (7 Страниц)  •  231 Просмотры

Страница 1 из 7

ЗЕРТХАНАЛЫҚ ЖҰМЫС № 7

Символдық массивтерді өңдеу

‘\0’ (нуль-терминатор) аяқталатын  char  типті мәндері бар массив жол болып табы-лады.  Жолды хабарлағанда ‘\0’ байтпен аяқталатынын есепке алып,  N емес,   N+1 элементті көрсету керек. Жолдарды  инициализациялағанда хабарлаудың дәстүрлі әдістері қолданылады.

Инициализияланған жолдық айнымалының ұзындығына тең константаны анықтағанда  sizeof() функцияны қолдануға болады.  

Символдық айнымалылар мен жолдарды еңгізуге С++ тілінде пайдаланушыға <iostream.h> библиотекасынан екі cin, get  және  cin.getline функцияларын ұсына-ды. 

Жолдармен жұмыс істеу функциялары string.lib кітапханасында бар (қосу үшін: #include<string.h>). Ең жиі қолданылатын функциялар:

strset(str1,’символ’) - кейбір символмен жолды толтыру:

n=int(a);  символ кодын алу:

char * strcpy (st1, st2) - st2 жолды, оның нөлдік таңбасын қоса, st1 жолға көшіреді.

char * strcat (st1, st2) - st2 жолды st1 жолының оң жағына қосады.

int strcmp (st1, st2) - st2 және st1 жолдарды салыстырады. Егер st1 <st2 болса, онда нәтиже –1, егер st1 = st2 болса, нәтиже нөлге тең, егер st1> st2 болса, нәтиже 1 болады.

char * strstr (st1, st2) - st2 кіші жолды st1 жолдың ішінен іздейді.

char * strchr (st, sh) - st жолындағы ch символының бірінші рет пайда болған кезде көрсеткішті қайтарады.

char * strtok (st1, st2) - st1 жол бойындағы лексемаға көрсеткішті қайтарады. Бірінші шақыруда функция st1-дегі бірінші таңбаға көрсеткішті қайтарады, ал бірінші лексемадан кейін нөлдік таңбаны орнатады. Бірінші аргумент ретінде NULL мәні бар функцияға келесі функция шақырған кезінде көрсеткіш келесі лексемаларға ауысады. Барлық лексемалар біткен соң, көрсеткіш NULL мәніне орнатылады.

 int strlen (st) - st жолының ұзындығын қайтарады.

char * strrev (st) - жолдағы символдардың ретін қайтарады.

сhar * strdup (st) - st жолын қайталайды.

char * strlwr (st) - st жолының таңбаларын кіші әріпке айналдырады.

сhar * strupr (st) - st жолының таңбаларын бас әріпке айналдырады.

int atoi (st) - st жолын бүтін санға (int) айналдырады.

double atof (st) - st жолын нақты санға айналдыру.

char * itoa (a, st, base) –бүтін типті a санын st жолына түрлендіреді (base-сандық жүйенің негізі).

char * gcvt (a, dec, st); - нақты типтегі а санын st жолына түрлендіреді. dec мәні ондық разрядтар санын білдіреді (18-ге дейін).

Жұмысты орындау мысалы

Мысал 1. Еркін жолдың барлық сөздерін таңдап, экранға шығар. Сөздер бір-бірінен бір немесе бірнеше бос орындармен бөлінеді.

char st[100], sl[100];

int k=0, i;

 gets(st);

strcat(st," ");

int n=strlen(st);

 if (n<2) return 1;

sl[0]=’\0’;

for(i=0;i<n;i++)

if(st[i]!=’ ‘)

{

sl[k]=st[i];

sl{k+1}=’\0’;

k++;

}

else

{

if(strlen(sl)>0)  puts(sl);

sl[0]='\0';

  k=0;

 }

Мысал 2. Жолдың палиндром екенін анықтаңыз, яғни ол солдан оңға қарай және оңнан солға  қарай бірдей оқылады ма?

char st[80]="A roza upala na lapu Azora";

int i,j;

bool bl=true;

strlwr(st);

i=0; j=strlen(st)-1;

 while (i<=j)  {

 while (st[i]==' ')  i++;

 while (st[j]==' ')  j--;

if (st[i] !=st[j])

 {

 bl=false;   break;

}

 i++;   j--;

}

 if (bl)

       cout << "Palindrom" << endl;

else

 cout << "palindrom emes" << endl;

Мысал 3. Келесі мысалда студенттің аты пернелерден енгізіліп, ол екінші тіркеспен біріктіріледі.

...

Скачать:   txt (19.2 Kb)   pdf (216.2 Kb)   docx (15.3 Kb)  
Продолжить читать еще 6 страниц(ы) »
Доступно только на Essays.club