
- •3.Тіл құрамы, тіл алфавиті, түсініктемелері
- •4.Идентификаторлар.Түйінді сөздер.Тұрақтылар
- •5.Функцияларды хабарлау, анықтау. Функцияның параметрлері. Рекурсивті функция
- •6.Негізігі мәліметтер типтері.Унарлы, бинарлы, тернарлы операциялар
- •7.Программа құрылымы, Айнымалылар мен
- •8.If, switch Тармақталу операторлары.Шартты оператордың құрылымдық сұлбасы
- •9.For, do while, while циклдік операторлары
- •10. Goto, Break, continue, return басқаруды беру операторлары
- •11.Нұсқауыштар мен жиымдар.Екі өлшемді жиымдар
- •12.Қатарлар. Қатарларға қолданылатын функциялар
- •15 .Borland Builder 6.0 прграммалау ортасының бас терезесінің құрылымы
- •19.Конструкторлар.Қатарларды түрлендіру, қатардың құрамын іздеу
- •20.Деструкторлар және оның қасиеттері
- •21. Класстың достық функциялары, шаблондары
- •22.Мұрагерлік.Жай және көптік мұрагерлік
- •23.Абстрактілі класс, виртуалды функция
- •24.Ағымдар, стандартты файлдық және қатарлық ағымдар
- •25.Манипуляторлар.Жай және параметрлі манипуляторлар
- •26. Stl (Standard Template Library) кітапханасының құрылымы, итераторлар
- •27.Тізбекті контейнерлер, векторлар, кезектер
- •28.Екі жақты кезектер, стектер, тізімдер
- •29.Ассоциативті контейнерлер. Сөздіктер, жиындар
- •30.Алгоритмдер, функционалды объектілер, адаптерлер
12.Қатарлар. Қатарларға қолданылатын функциялар
Қатар - нөл-символмен аяқталатын символдар массиві. С++-те қатармен жұмыс істеуді 2мүмкіндігі бар:С библиотекасынан (<string.h> н/е <cstring>) мұрагерлікке қалған функциялар және С++-тің string библиотекалық класы. С-дан мұрагерлікке қалған функциялар қолдану кезінде ыңғайсыз ж/е қауіпті, с/і олар қатардың шекарадан шығып кетуін қадағаламайды. string типті қатары ақпараттың шекарадан шығып кетуінен қорғалған және операциялар көмегімен жұмыс істеуге б/ы.
string класының функциялары:
Қатардың бөлігін қосу және меншіктеу
Бір қатардың бөлігін екінші қатарға меншіктеу үшін assign функциясы қолданылады
assign (const string&str);
assign (const string&str, size_type pos, size_type n);
assign (const char*s, size_type n);
Бір қатардың бөлігін екінші қатарға қосу үшін append функциясы қолданылады
append (const string&str);
append(const string&str, size_type pos, size_type n);
append (const char*s, size_type n);
Қатарларды түрлендіру
Бір қатардың бөлігін екіншісіне қою үшін insert функциясы қолданылады\
insert (size_type pos1, const string&str);
insert (size_type pos1, const string&str, size_type pos2, size_type n);
insert (size_type pos, const char*s, size_type n);
Қатардың бөлігін жою үшін erase функциясы қолданылады
erase (size_type pos=0, size_type n=npos);
Ол pos позициясынан бастап шақырылған қатардың n элементін жояды. Егер позиция көрсетілмесе, онда қатардың басынан бастап жояды.
Бүкіл қатарды тазалау қызметін clear функциясы атқарады: void clear();
Қатардың бөлігін ауыстыру үшін replace функциясы қолданылады
replace (size_type pos1, size_type n1, const string&str);
replace (size_type pos1, size_type n1, const string&str, size_type pos2, size_type n2);
replace (size_type pos1, size_type n1, const char*s, size_type n2);
2 қатарды бір-бірімен алмастыру үш.swap функ.қолд. swap (string&s);
Қатардың бөлігін бөліп алу үшін substr функциясы қолданылады
string substr (size_type pos=0, size_type n=npos) const;
string типті объектілерді ескі стильдегі қатарға түрлендіру үшін c_str функциясы қолданылады const char*c_str() const;
Қатардың құрамын іздеу size_type find(const string&str, size_type pos=0) const;
Шақырылған қатардан pos позициясынан бастап str қатарының сол жақтан енуін іздейді және егер қатар табылмаса, онда қатардың позициясын немесе npos-ны қайтарады size_type find(char c, size_type pos=0) const;
Шақырылған қатардан pos позициясынан бастап с символының сол жақтан енуін іздейді ж/е егер қатар табылмаса,онда қатардың позициясын н/е npos-ны қайтарады.
Шақырылған қатардан pos позициясына дейін str қатарының оң жақтан енуін іздейді ж/е егер қатар табылмаса, онда қатардың позициясын н/е npos-ны қайтарады.
size_type rfind(char c, size_type pos=npos) const;
Шақырылған қатардан pos позициясына дейін с символының оң жақтан енуін іздейді ж/е егер қатар табылмаса,онда қатардың позициясын н/е npos-ны қайтарады
Қатардың бөліктерін салыстыру үшін compare функциясы қолданылады.
size_type rfind(const string&str, size_type pos=npos) const;
int compare (const string&str) const;
int compare(size_type pos1, size_type n1, const string&str) const;
int compare(size_type pos1, size_type n1, const string&str, size_type pos2, size_type n2 ) const;
13 . typedef, enum Қолданушы анықтайтын мәліметтер типтері:
С++ тілі программистке өз мәліметтер типін және олармен жұмыс істеу ережелерін анықтауға мүмкіндік береді. Қолданушы анықтайтын мәліметтер типтері: typedef, enum, struct, union.
Программа анығырақ болу үшін typedef түйінді сөзінің көмегімен типке жаңа ат беруге болады: typedef тип жаңа_ ат [өлшемі]
typedef тип үшін тип спецификаторын анықтайды. Бұл хабарлау қолданушы анықтаған типтерге қысқа және мағыналы аттар беру үшін қолданылады.
Мысалы: typedef char name [100];
name str[10]; //100 символды 10 қатардан тұратын жиым
Программа жазу кезінде әр түрлі мәнді бірнеше тұрақтыны анықтау қажет болады. Ол үшін тізімделген мәліметтер типін қолданған жөн.
Форматы:
enum [тип_ аты] {тұрақтылар тізімі};
14.Қолданушы анықтайтын мәліметтер тип/і:құрылым, біріктіру(struct, union)
С++ тілі программистке өз мәліметтер типін және олармен жұмыс істеу ережелерін анықтауға мүмкіндік береді. Қолданушы анықтайтын мәліметтер типтері: typedef, enum, struct, union. Жиым элементтері бір типті болса, ал құрылым элементтері әр түрлі типті болады. struct типі бірнеше компоненттерді бір айнымалыға біріктіруге мүмкіндік береді. С++ тілінде құрылым класс түрі болып табылады, бірақ оны көп жағдайларда С тілінде анықталғандай қолдану жеткілікті.
Форматы:
struct [тип аты]
{ 1_тип 1_ элемент;
2_тип 2_ элемент;
………………….
n_тип n_элемент;}[сипаттамар тізімі];
Құрылымның мүшелеріне (.) арқылы енуге болады.
Мысал ретінде пәтерді сипаттаушы құрылымды қарастырайық. Бұл құрылым төмендегі белгілерді сақтайды: бөлмелер саны, пәтер ауданы, нөмірі, пәтер қожайыны.
Struct apartment {int count_rooms; int area; int number; char fio[20]; };
Мұндағы struct–түйінді сөз, apartment–құрылым аты, ал count_rooms, area, number және fio – құрылым мүшелері.
Біріктірулер – құрылымның жеке жағдайы, барлық өрістері бір адресте орналасады.
Форматы:
union тег{
1_тип 1_ элемент;
2_тип 2_ элемент;
………………….
n_тип n_элемент;};
Тег – мәліметтердің жаңа типінің аты, оның жазылуы міндетті емес. Біріктірудің мүшелеріне (.) арқылы енуге болады.