Жоспары: Сөз тіркестерді өңдеу Символдық таңбаларды енгізу/шығару Сөз тіркестерімен жұмыс істейтін функциялар



Дата05.05.2023
өлшемі256,63 Kb.
#90165
түріЛекция

11-12лекция
Тақырыбы: Қатарлық мәліметтерді өңдеу. Символдық және қатарлық типтер.

Жоспары:

  • Сөз тіркестерді өңдеу
  • Символдық таңбаларды енгізу/шығару
  • Сөз тіркестерімен жұмыс істейтін функциялар

С++ тіліндегі жолдық тұрақты (константа) – қос тырнақшаға алынған символдар жиыны. Мысалы, «Берілген тапсырма» тіркесі, оның соңына нөлдік байтты компилятор автоматты түрде өзі жазады.
Айнымалы мәні болатын сөз тіркесін сипаттау кезінде бірден көрсетуге болады, мысалы, char S1[10]=”123456789”, S2[]=”Болат”;
Соңғы сөз ұзындығы тіркестің символдары санымен анықталады.
Символдық айнымалылар char типі символдық айнымалыларды сипаттау үшін қызмет етеді, сәйкесінше, атаудың жанында сипатталған кезде таңбалар массивінде төртбұрышты жақшада өлшемі көрсетілуі керек.
Символдық айнымалылар жеке таңбалармен жазылады. Таңба айнымалысының мәні - апострофтарға жеке таңба түрінде көрсетіледі және CIN командасы арқылы да енгізуге болады.
Мысалы. Кезекпен енгізілген N таңбалардың ішінде леп белгілерінің санын санаңыз.
#include
#include
using namespace std; int main()
{setlocale(LC_ALL, “Russian”);
char c,c1;
int sum=0,i,n;
c1='!'; cout<<"n санын енгіз \n";
cin>>n;
for (i=1; i<=n; i++)
{cout<<" \n келісі символды енгіз ";
cin>>c; if (c==c1) sum++; }
cout<<" белгі саны"<
cout<<" тең "<
return (0); }
С++ символ таңбалары кодтар арқылы жазылады. Таңбаның сандық кодын алу үшін бүтінге аудару операциясын қолдану жеткілікті: (int) c, мұндағы с - символдық айнымалы. Таңбаның кодын алу үшін бүтін айнымалылардысимволдық (char) k-ге аудару операциясын қолдану жеткілікті, мұнда k-бүтін сан (таңба коды).
мысалда кездейсоқ сандар қолданылады. С++ тілінде ол rand()%RAND_MAX функциясымен жүзеге асырылады, яғни
– 0-ден оң RAND_MAX-1 бүтін санына дейінгі аралықтан кездейсоқ бүтін санды береді (RAND_MAX ретінде белгілі бір санды бірден көрсетуге болады).
Сонымен қатар, бұл кездейсоқ сандар сенсорын іске қосу үшін (бағдарламалардың әр жаңа іске қосылуында кездейсоқ сандардың жаңа жиынтығын шығару үшін - ) srand(time(0)) функциясы қолданылады, яғни кездейсоқ сандар генераторын бастау үшін компьютердің жүйелік уақыты қолданылады. Сонымен қатар, мұнда таңбасыз бүтінге айналдыру керек (unsigned int).
Сонымен қатар, түрінде жазылады. Мысалы, жүйелік уақытты алу үшін
Белгі C++ тілінде кез келген идентификатор сияқты орнатылады (белгінің атауы әріптен басталады) және сипаттаманы қажет етпейді.
Белгі- қос нүкте арқылы сипатталады.
Мысал . "Пернетақта жаттықтырушысы" бағдарламасын құру керек, яғни пернетақтадан кез келген символда басу керек. Мұнда таңба кездейсоқ көрсетіледі.
#include
#include
#include
using namespace std;
int kod,n, r_max, r_min;
char c,d; int main ()
{srand((unsigned)time(0));
One:
r_min=33; r_max=123;
kod=(double)rand()/(RAND_MAX+1)*(r_max-r_min)+r_min;
c=(char)kod; cout<<“simboldi engiz "<
cin>>d;
if ((int)d==kod) cout<<" duris\n ";
else cout<<" duris emes \n";
goto One; return (0);}
Бұл бағдарлама үздіксіз жұмыс істейді. Оның жұмысын тоқтату үшін Ctrl+C пернелерін басу жеткілікті.
Символдық жолдар
C++ - да "жол" түрі жоқ. Бірақ мұнда жолдар жасауға арналған құралдар бар. Ол үшін алдымен жолдар таңбалар массивтері ретінде қарастырылады.
Мысалы. Әріптерінің кодтарын басып шығарыңыз.
#include
#include
#include
using namespace std;
char str_rus[256],salf[65],sal;
int main()
{ setlocale(LC_ALL, “Russian”);
int i; char rusalf[65]= "АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦц ЧчШшЩщъЫыьЭэЮюЯя";
cout<< " \n КОДЫ РУССКИХ БУКВ "<<"\n";
AnsiToOem(rusalf, salf);
for (i=0; i<=64; i++)
{ sal=salf[i];
cout<
if (i%8 == 7)cout<<"\n";}
return (0);}
Программа орындалғаннан кейін келесі
нәтиже көрінеді.
#include
#include
using namespace std;
int main()
{setlocale(LC_ALL, "Russian");
char s[80];int n,i;
cout <<"\n texti engiz \n";
cin.get(s,79);
n=strlen(s);
Мысал. Енгізілген мәтін жолын бөлек сөздерге бөліңіз, яғни әр сөзді бөлек жолға шығарыңыз.
cout<<"\n texti aripterge bolu:\n";
for (i=0; i
{ if (s[i] ==' ')
cout<<"\n"; else cout<
cout<<"\n";
return (0); }
нәтиже:
n texti engiz
Men informatika mamandiginda okimin
Men
informatika
mamandiginda
okimin

Достарыңызбен бөлісу:




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет