Войти Регистрация

Docx

  • Рефераты
  • Дипломные работы
  • Прочее
    • Презентации
    • Рефераты
    • Курсовые работы
    • Дипломные работы
    • Диссертациии
    • Образовательные программы
    • Инфографика
    • Книги
    • Тесты

Информация о документе

Цена 3000UZS
Размер 956.2KB
Покупки 0
Дата загрузки 28 Июль 2023
Расширение ppt
Раздел Презентации
Предмет Информатика и ИТ

Продавец

Bohodir Jalolov

С++да Сатрлар ва символлар билан ишлаш. Символли стандарт функциялари

Купить
C++ да Сатрлар ва символлар билан ишлаш . Символли стандарт функциялари • Режа: 1. Символли сатрлар 2. С++ да белги сифатида ишлатилиши мумкин бўлган константалар 3. Сатрли символларни киритиш ва чиқариш 4. C имволли сатрларни киритиш Символли сатрлар Символли сатр – бу символлар кетма-кетлиги бўлиб, &#39;\\0‘ символ билан тугайди . С++ тилида сатр учун махсус тур аниқланмаган. Сатр char туридаги белгилар массиви сифатида қаралади ва бу белгилар кетма–кетлиги сатр терминатори деб номланувчи нол кодли белги билан тугайди (‘\\0’). Одатда, нол-терминатор билан тугайдиган сатрларни ASCIIZ–сатрлар дейилади. Сат р константа деб қўштирноқлар ичига олинган белгилар кетма– кетлигига айтилади: “ Ушб у белгилар кетма–кетлигига сатр дейилади . ” С++ да белги сифатида ишлатилиши мумкин бўлган константалар 5 Символли сатрларни эълон қилиш Сатрни эълон қилиш = хотирадан унга жой ажратиш ва ном бериш. char s[80]; char s1[80] = &#34;abc&#34;; char qqq[] = “Olim&#34;; char s[80]; char s1[80] = &#34;abc&#34;; char qqq[] = “Olim&#34;; 80 байт жой ажратилади (агар у глобал бўлса , у ҳолда н o л бўлади &#39;\\0‘ )80 байт жой ажратилади (агар у глобал бўлса , у ҳолда н o л бўлади &#39;\\0‘ ) 80 байт жой ажратилади , 4 байт и банд ( &#39;\\0‘ билан бирга )80 байт жой ажратилади , 4 байт и банд ( &#39;\\0‘ билан бирга ) 5 байт жой ажратилади ( &#39;\\0‘ билан бирга )5 байт жой ажратилади ( &#39;\\0‘ билан бирга ) • Хотирадан жой ажратаётганда &#39;\\0‘ символни ҳам эътиборга олиш лозим . • Сатрга хотирада белгиланганидан кўп символ ёзиш мумкин эмас.! 6 Сатрли символларни киритиш ва чиқариш Масала: Клавиатурадан сўз киритинг ва барча «а» ҳарфларини « b » ҳарфига ўзгартиринг. main() { char q[80]; int i; cout<<“Satr kiriting\\n“; cin>>q; i = 0; while ( q[i] != &#39;\\0&#39; ) { if ( q[i] == &#39; а &#39; ) q[i] = ‘b&#39;; i ++; } cout<< “Natija : “<< q ; } & қўйиш керак эмас : q  &q[0]& қўйиш керак эмас : q  &q[0]%s – символли сатрларни киритиш ва чиқаришни форматлаш (&#39;\\0‘ гача бўлган символлар чиқади)%s – символли сатрларни киритиш ва чиқаришни форматлаш (&#39;\\0‘ гача бўлган символлар чиқади) &#34;%s&#34; Токи сатр охирига боргунчаТоки сатр охирига боргунча Кейинги символга ўтиш Кейинги символга ўтишq[0] дан бошланадиq[0] дан бошланади 7 Битта с ў зни киритиш: Пробелли сатрларни киритиш: char q[80]; cout<<“Matn kiriting :\\ n”; cin >> q ; cout<<“Natija : \\n“<< q;char q[80]; cout<<“Matn kiriting :\\ n”; cin >> q ; cout<<“Natija : \\n“<< q;C имволли сатрларни киритиш Matn kiriting : Anvar uyga ketdi Natija : AnvarMatn kiriting : Anvar uyga ketdi Natija : Anvar char q[80]; cout<<“Matn kiriting :\\ n”; gets ( q ); cout<<“Natija : \\n“<< q;char q[80]; cout<<“Matn kiriting :\\ n”; gets ( q ); cout<<“Natija : \\n“<< q; Matn kiriting : Anvar uyga ketdi Natija : Anvar uyga ketdiMatn kiriting : Anvar uyga ketdi Natija : Anvar uyga ketdigets ( q ); 8 Универсал усул: Faqat bitta satr uchun :cout<<“Natija : “<< q;cout<<“Natija : “<< q;C имволли сатрларни чиқариш puts ( q );puts ( q );• Бошқа маълумотларни ҳам чиқариш мумкин: ёзувлар, ўзгарувчиларни қийматлари, … • Фақат битта сатрни чиқариш • Чиқаргандан кейин янги сатрга ўтиш cout<< q <<endl;cout<< q <<endl; Сатр ўзгарувчилари эълони Символли сатр – бу символлар кетма-кетлиги бўлиб, &#39;\\0‘ символ билан тугайди . Сатр ўзгарувчилари эълон қилинишида бошланғич қийматлар қабул қилиши мумкин. Бу ҳолда компилятор автоматик равишда сатр узунлиги ҳисоблайди ва сатр охирига нол–терминаторни қўшиб қўяди: char Hafta_kuni[]=”Juma”; Ушбу эълон қуйидаги эълон билан эквивалент: char Hafta_kuni[]= {‘J’,’u’,’m’,’a’,’\\0’}; Сатр қийматини ўқиш Сатр қийматини ўқишда оқимли ўқиш оператори “>>” ўрнига getline() функциясини ишлатган маъқул. Чунки оқимли ўқишда пробеллар инкор қилинади (гарчи улар сатр белгиси ҳисобланса ҳам) ва ўқилаётган белгилар кетма–кетлиги сатрдан “ошиб” кетганда ҳам белгиларни киритиш давом этиши мумкин. Натижада сатр ўзига ажратилган ўлчамдан ортиқ белгиларни қабул қилиши мумкин. Сатр қийматини ўқиш Программада satr сатри 5 та белгини қабул қилиши мумкин , ортиқчалари ташлаб юборилади . getline() функциясига мурожаатда иккинчи параметр қиймати ўқилаётган сатр узунлигидан катта бўлмаслиги керак .int main(){ char satr[6]; cout<<”Satrni kiriting: “<<’\\n’; cin.getline(satr,6); cout<<”Siz kiritgan satr: “<<satr; }int main(){ char satr[6]; cout<<”Satrni kiriting: “<<’\\n’; cin.getline(satr,6); cout<<”Siz kiritgan satr: “<<satr; } 12 Сатрлар билан ишловчи функциялар Сатр узунлиги : strlen ( string length )Библиотекани улаш: #include <string.h>#include <string.h> char q[80] = &#34;qwerty&#34;; int n; n = strlen ( q );char q[80] = &#34;qwerty&#34;; int n; n = strlen ( q ); n = 6n = 6 Сатрни узунлигини аниқлашда &#39;\\0&#39; символ инобатга олинмайди!! Сатр билан ишлайдиган функциялар strlen () функцияси сатрнинг реал узунлигидан битта кам қиймат қайтаради, яъни нол-терминатор ўрни ҳисобга олинмайди. sizeof() функциясидан ҳам фойдаланиш мумкин ва у strlen() функциясидан фарқли равишда сатрнинг реал узунлигини қайтаради. #include <string.h> int main() { char Str[]=&#34;1234567890&#34;; cout <<strlen(Str)<<endl; //10 cout<<<<sizeof(Str)<<endl;//11 return 0; }#include <string.h> int main() { char Str[]=&#34;1234567890&#34;; cout <<strlen(Str)<<endl; //10 cout<<<<sizeof(Str)<<endl;//11 return 0; } 14 Сатрларни солиштириш char q1[80], q2[80]; int n; gets ( q1 ); gets ( q2 ); n = strcmp ( q1, q2 );char q1[80], q2[80]; int n; gets ( q1 ); gets ( q2 ); n = strcmp ( q1, q2 );strcmp ( string comparison ) : q1 q2 n &#34;AA&#34; &#34;AA&#34; 0 &#34;AB&#34; &#34;AA&#34; 1 &#34;AA&#34; &#34;AB&#34; – 1 &#34;AA&#34; &#34;A&#34; 65 Функция бир биридан фарқ қилувчи кодлар орасидаги фарқни аниқлайди!! 15 Мисол Масала: Сатр киритинг ва ундаги сўзлар сонини аниқланг. Дастур парол тўғри киритилгандагина ишласин. Ишлаш ғояси: • паролни strcmp орқали текшириш • сўзлар сони = сўзнинг биринчи ҳарфлари сони • Биринчи ҳарф: пробел ва унидан кейин «пробел йўқ» • Гап сўздан бошланяпди, пробелдан эмасA n v a r u y i g a k e t a d i \\0 ¤ ¤ ¤ ¤ ¤ 16 Паролни текшириш #include <string.h> main() { char secret[] = &#34;123&#34;, pass[20]; cout<<“Parolni kiriting\\n”; gets ( pass ); if ( strcmp ( pass, secret ) != 0 ) { cout<<“Parol noto’g’ri“ ; getch (); return 1; } ... } Агар парол нот ўғ ри ...Агар парол нот ўғ ри ... Хатолик ҳақида маълумот бериш ва дастурдан чиқишХатолик ҳақида маълумот бериш ва дастурдан чиқиш тугаллаш, хатолик коди 1тугаллаш, хатолик коди 1 17 Дастурни асосий коди #include <stdio.h> #include <string.h> main() { char q[80]; i n t i, len, count = 0; ... / / паролни текшириш cout<<“Gap kiriting\\n”; gets ( q ); len = strlen( q ); if ( q[0] != &#39; &#39;) count++; for ( i = 0; i < len - 1; i ++ ) if ( q[i] == &#39; &#39; && q[i+1] != &#39; &#39; ) count ++; cout<< count<<“ ta so’z topildi”; } асосий ҳолатасосий ҳолат Агар пробел б ўлса , ундан кейин ҳам пробел йўқми… Агар пробел б ўлса , ундан кейин ҳам пробел йўқми…олдинги слайдолдинги слайд 18 Ёрдам: битта символни чиқариш учун putchar( символ ) функциясидан фойдаланинг . Масалан:Ёрдам: битта символни чиқариш учун putchar( символ ) функциясидан фойдаланинг . Масалан: Вазифа « 1 »: Гап киритинг ва ундаги с ў зларнинг нечтаси &#39; а ‘ ҳарфи билан тугайди . Мисол: Gap kiriting : Gap kiriting : Aziza mana choy Bugun IAT darsi Topilgan so’zlar : 2 Bunday so’z yo’q « 2 »: Гап киритинг ва ундан сўзларни ажратиб олинг : Мисол: Гап киритинг : Aziza mana choy Результат: Aziza mana choy putchar(q[i]); putchar(&#39;\\n&#39;); // янги сатрга ўтишputchar(q[i]); putchar(&#39;\\n&#39;); // янги сатра ўтиш 19 Сатрни нусхалаш strcpy ( string copy ) char q1[10] = &#34;qwerty&#34;, q2[ 1 0] = &#34;01234&#34;; strcpy ( q1, q2 ); //01234char q1[10] = &#34;qwerty&#34;, q2[ 1 0] = &#34;01234&#34;; strcpy ( q1, q2 ); //01234 қаерг ақаерг а қаерда нқаерда н q1 нинг эски қиймати ўчирилади !! Сатрни «думини» нусхалаш char q1[10] = &#34;qwerty&#34;, q2[ 1 0] = &#34;01234&#34;; strcpy ( q1, q2 +2 ); //234char q1[10] = &#34;qwerty&#34;, q2[ 1 0] = &#34;01234&#34;; strcpy ( q1, q2 +2 ); //234 q w e r t y \\0 ¤ ¤ ¤ 0 1 2 3 4 \\0 ¤ ¤ ¤ ¤ q2 q1 q2 = &q2[0]q2 = &q2[0] q2+2 = &q2[2]q2+2 = &q2[2] 2 3 4 \\0 20 Сатрни нусхалаш сатрни ўртасини нусхалаш char q1[10] = &#34;qwerty&#34;, q2[ 1 0] = &#34;01234&#34;; strcpy ( q1 +2 , q2 ); //qw01234char q1[10] = &#34;qwerty&#34;, q2[ 1 0] = &#34;01234&#34;; strcpy ( q1 +2 , q2 ); //qw01234 q w e r t y \\0 ¤ ¤ ¤ 0 1 2 3 4 \\0 ¤ ¤ ¤ ¤ q2 q1 q1+2 = &q1[2]q1+2 = &q1[2] 0 1 2 3 4 \\0 char q1[10] = &#34;qwerty&#34;, q2[ 1 0] = &#34;01234&#34;; strcpy ( q1 +2 , q2 +3 ); //qw34char q1[10] = &#34;qwerty&#34;, q2[ 1 0] = &#34;01234&#34;; strcpy ( q1 +2 , q2 +3 ); //qw34 q w e r t y \\0 ¤ ¤ ¤ 0 1 2 3 4 \\0 ¤ ¤ ¤ ¤ q2 q1 3 4 \\0 q2+ 3 = &q2[ 3 ]q2+ 3 = &q2[ 3 ]q 1 + 2 = &q 1 [ 2 ]q 1 + 2 = &q 1 [ 2 ] 21 Сатрни нусхалаш str n cpy – бир нечта символларни нусхалаш char q1[10] = &#34;qwerty&#34;, q2[ 1 0] = &#34;01234&#34;; str n cpy ( q1 +2 , q2, 2 ); //qw01tychar q1[10] = &#34;qwerty&#34;, q2[ 1 0] = &#34;01234&#34;; str n cpy ( q1 +2 , q2, 2 ); //qw01ty q w e r t y \\0 ¤ ¤ ¤ 0 1 2 3 4 \\0 ¤ ¤ ¤ ¤ q2 q1 q1+2 = &q1[2]q1+2 = &q1[2] 0 1 str n cpy функцияси сатр охиридан &#39;\\0&#39; символни қўймайди !! 22 Сатрларни нусхалаш сатрли-константаларни нусхалаш char q1[10] = &#34;qwerty&#34;; strcpy ( q1 + 1, &#34;ABCD&#34;); //qABCDchar q1[10] = &#34;qwerty&#34;; strcpy ( q1 + 1, &#34;ABCD&#34;); //qABCD q w e r t y \\0 ¤ ¤ ¤ A B C D \\0 q1 A B C D \\0 char q1[10] = &#34;qwerty&#34;; strcpy ( &#34;ABCD&#34;, q1 +2 );char q1[10] = &#34;qwerty&#34;; strcpy ( &#34;ABCD&#34;, q1 +2 ); Биринчи параметр константа бўлиши мумкин эмас! ! эмас 23 Сатрларни нусхалаш Битта сатрни ичидан нусхалаш char q[10] = &#34;012345&#34;; strcpy ( q, q+2 ); //234char q[10] = &#34;012345&#34;; strcpy ( q, q+2 ); //234 0 1 2 3 4 5 \\0 ¤ ¤ ¤ q 2 3 4 5 \\0 char q[10] = &#34;012345&#34;; strcpy ( q + 2, q ); //01012323 strcpy ( q + 3, q ); //0120123123char q[10] = &#34;012345&#34;; strcpy ( q + 2, q ); //01012323 strcpy ( q + 3, q ); //0120123123 0 1 2 3 4 5 \\0 ¤ ¤ ¤ q 0 1 2 3 2 3 24 Сатрларни бирлаштириш strcat ( string concatenation ) = биринчи сатр охиридан иккинчи сатрни қўшади char q1[10] = &#34;qwe&#34;, q2[ 1 0] = &#34;0123&#34;; strcat ( q1, q2 ); //qwe0123char q1[10] = &#34;qwe&#34;, q2[ 1 0] = &#34;0123&#34;; strcat ( q1, q2 ); //qwe0123 q w e \\0 ¤ ¤ ¤ ¤ ¤ ¤ 0 1 2 3 \\0 ¤ ¤ ¤ ¤ ¤ q2 q1 0 1 2 3 \\0 char q1[10] = &#34;qwe&#34;, q2[ 1 0] = &#34;0123&#34;; strcat ( q1, q2+2 ); //qwe23char q1[10] = &#34;qwe&#34;, q2[ 1 0] = &#34;0123&#34;; strcat ( q1, q2+2 ); //qwe23 q w e \\0 ¤ ¤ ¤ ¤ ¤ ¤ 0 1 2 3 \\0 ¤ ¤ ¤ ¤ ¤ q2 q1 2 3 \\0 25 бошқачаСатрларни нусхалашдаги муаммолар Транслятор бундай хатоликлар ҳақида маълумот бермайди!! char q1[] = &#34;qwer&#34;, q2[ 1 0] = &#34;01234&#34;; strcpy ( q1 +2 , q2 );char q1[] = &#34;qwer&#34;, q2[ 1 0] = &#34;01234&#34;; strcpy ( q1 +2 , q2 );• Натижавий сатр учун жой етмай қолади q w e r \\0 0 1 2 3 \\0 ¤ ¤ ¤ ¤ ¤ q2 q1 0 1 2 3 \\0 • сатрни «ўнгдан чапга» нусхалашда циклга тушиб қолиши char q[ 10 ] = &#34;01234&#34;; strcpy ( q +2 , q );char q[ 10 ] = &#34;01234&#34;; strcpy ( q +2 , q ); 26 strdup() функцияси strdup() функциясига ягона параметр сифатида сатр– манбага Кўрсатгич узатилади. Функция, сатрга мос хотирадан жой ажратади, унга сатрни нусхалайди ва юзага келган сатр-нусха адресини қайтаради. strdup() функция синтаксиси: char* strdup(const char* sourse) char* satr1=”Satr nusxasini olish.”; char* satr2; satr2=strdup(satr1);char* satr1=”Satr nusxasini olish.”; char* satr2; satr2=strdup(satr1);Қуйидаги dastur да satr1 сатрининг нусхаси хотиранинг satr2 кўрсатган жойида пайдо бўлади: 27 Масалани ечишга мисол Масала : файл номини киритинг ва унинг кенгайтмасини &#34;.exe“ билан алмаштиринг . Мисол: fayl nomini kiriting : fayl nomini kiriting : laziz.html laziz Natija : Natija : laziz.exe laziz.exe Алгоритм: • файл номидан нуқтани топинг • Агарда нуқта топилса, унинг ўрнига &#34; .exe “ ўзгармасни қўйинг • Агарда нуқта топилса, унинг охирига &#34; .exe “ ўзгармасни қўйинг 28 Дастур main () { char fName [80]; int i ; Cout<<“fayl nomini kiriting\\n” ; g ets ( fName ); i = 0; while ( fName [ i ] != &#39;.&#39; ) { if ( fName [ i ] = = &#39;\\0&#39; ) break; i ++; } if ( fName [ i ] == &#39;.&#39; ) strcpy ( fName + i , &#34; .exe &#34; ); else strcat ( fName , &#34; .exe &#34; ); p uts ( “ Natija :&#34; ); puts ( fName ); } Нуқтани қидиришНуқтани қидириш Сатр охирига борсин Сатр охирига борсин Кенгайтмани қўшамиз ёки ўзгартирами зКенгайтмани қўшамиз ёки ўзгартирами з 29 Вазифа « 3 »: Файлни тўлиқ номини ёзинг ва уни кенгайтмасини « .exe » га алмаштиринг . Мисол: Файл номи: Файл номи : C:\\DOC.TXT\\qqq C:\\DOC.TXT\\qqq.com Натижа: Натижа: C:\\DOC.TXT\\qqq.exe C:\\DOC.TXT\\qqq.exe « 4 »: Фамилия исм ва шарифни киритинг. Фамилия ва исмни колдириб салом сўзини қўшинг. Мисол: ФИШни киритинг: Abidova Shaxnoza Baxodirovna Натижа: Salom , Abidova Shaxnoza ! 30 Символли сатрларда қидириш Масала : символли сатрдан берилган символ ёки бирикмани топинг . С++ да қидириш функцияси топилгпан символ ёки қисм сатрни адресини қайтаради. Аграда топилмаса, NULL ( нулли адрес ) чиқаради .! Кўрсаткич – бу ўзгарувчи бўлиб унга бир хил типли бўлган бошқа ўзгарувчини қийматини ёзиш мумкин . 31 Кўрсаткичлар char *p; // ихтиёрий символ ёки сатрни адреси int *pI; // бутун сонни адреси float *pF; // ҳақиқий сонни адресиchar *p; // ихтиёрий символ ёки сатрни адреси int *pI; // бутун сонни адреси float *pF; // ҳақиқий сонни адресиЭълон қилиш: Бутун ўзгарувчилар ва массивлар: int n = 6, A[5] = {0, 1, 2, 3, 4}; int *p; // бутун сона кўрсаткич p = &n; // n манзилни ёзиш *p = 20; // n = 20 p = A + 2; // A[2] (&A[2]) адресни ёзиш *p = 99; // A[2] ўзартириш p ++; // A[3] а ўтиш printf(“Adres : %p, qiymat %d&#34;, p, *p);int n = 6, A[5] = {0, 1, 2, 3, 4}; int *p; // бутун сона кўрсаткич p = &n; // n манзилни ёзиш *p = 20; // n = 20 p = A + 2; // A[2] (&A[2]) адресни ёзиш *p = 99; // A[2] ўзартириш p ++; // A[3] а ўтиш printf(“Adres : %p, qiymat %d&#34;, p, *p); Adres : 6 BCD:000C, qiymat 32 Кўрсаткичлар ва символли сатрлар char str[10] = &#34;0123456&#34;; char *p; p = str; *p = &#39;A&#39;; p ++; *p = &#39;B&#39;; p ++; strcpy ( p, &#34;CD&#34; ); strcat ( p, &#34;qqq&#34; ); puts ( p );char str[10] = &#34;0123456&#34;; char *p; p = str; *p = &#39;A&#39;; p ++; *p = &#39;B&#39;; p ++; strcpy ( p, &#34;CD&#34; ); strcat ( p, &#34;qqq&#34; ); puts ( p ); // символа кўрсаткич // ёки & str[0] // &#34;A12345&#34; // str[1] а ўтиш // &#34;AB2345“ // str[2] а ўтиш // &#34;ABCD&#34; // &#34;ABCDqqq&#34; 33 Символни қидириш strchr : сатр бошидан биринчи символни топиш str r chr : сатрдаги энг охирги символchar q[10] = &#34;abcdabcd&#34;; char *p; int nomer; p = strchr(q, &#39;b&#39;); if ( p == NULL ) cout<<“Topilmadi ... “ ; else { nomer = p – q; cout<<“Simvol raqami “<< nomer ; }char q[10] = &#34;abcdabcd&#34;; char *p; int nomer; p = strchr(q, &#39;b&#39;); if ( p == NULL ) cout<<“Topilmadi ... “ ; else { nomer = p – q; cout<<“Simvol raqami “<< nomer ; } a b c d a b c d \\0 ¤ 0 1 2 3 4 5 6 7 8 9q q q+1 q+1 q+5 q+5 p p reverse reverse 34 Қисм сатрни қидириш strstr : сатр бошидан биринчи қ исм сатрни топиш char q[10] = &#34;abcdabcd&#34;; char *p; int nomer; p = strstr(q, &#34;bcd&#34;); if ( p == NULL ) cout<<“Topilmadi ... “ ; else { nomer = p – q; cout<<“Birinchi simvolni topish“<< nomer ; }char q[10] = &#34;abcdabcd&#34;; char *p; int nomer; p = strstr(q, &#34;bcd&#34;); if ( p == NULL ) cout<<“Topilmadi ... “ ; else { nomer = p – q; cout<<“Birinchi simvolni topish“<< nomer ; } a b c d a b c d \\0 ¤ 0 1 2 3 4 5 6 7 8 9q q q+1 q+1 q+5 q+5 p p 35 Масалани ечиш Масала: Гап киритинг ва унда нечта « Olim » сўзи қатнашаётганлигини аниқланг. Муаммо: strstr функцияси сатр бошидан бошлаб қ идиради. Алгоритм: 1. Start кўрсаткичига сатр боши адресини кўрсатинг . 2. Start манзилидан бошлаб « Olim » қисм сатрини излаш 1. Агар топилмаса, циклдан чи қ иш. 2. Топилса ҳисоблашлар сонини ошириш. 3. start манзилини топилган сўздан кейин қўйиш. 4. 2-қадамга ўтиш. O l i m v a O l i m O l i m ! ! \\0start p p = strstr( start, “Olim&#34;); p = strstr( start, “Olim&#34;); 36 Дастур main() { char q[80], * start , * p ; int count = 0; puts ( “ Gap kiriting ” ); gets ( q ); start = q; // сатр бошидан қидирамиз while ( 1 ) { p = strstr ( start, “Olim&#34; ); if ( p == NULL ) break; count ++; start = p + 4; // кейинги с ў з қидирилади } cout<< “‘Olim&#39; ismi ”<<count<<“ marta takrorlandi” ; } Қ идиришни бошлашҚ идиришни бошлаш адрес найденного словаадрес найденного слова 37 Вазифа 5 : Гап киритинг ва ундаги барча Anvar сўзларини Olim га алмаштиринг . Масалан: Gap kiriting : Anvar , Anvar, Anvar va Anvar !!! Natija : Olim , Olim , Olim va OLim !!! 38 Вазифа « 6 »: Символли сатр киритинг ва барча “ a &#34; ни “b &#34; га алмаштиринг . Каттасини каттасига кичигини кичигига. Мисол: Satr kiriting : аа bb ссАА BB СС Natija : bb аасс BB ААСС « 7 »: Символли сатр киритинг ва уни палиндром ликка текширинг (икки томонлама бир хил бўлса палиндром бўлади). Мисол : Мисол: Satr kiriting : Satr kiriting : А NVAR AZIZA Natija : Natija : Palindrom emas . Palindrom .
Купить
  • Похожие документы

  • Operatsion tizimlarda journaling file system
  • I/O scheduling algoritmlari
  • O‘rta Osiyo kutubxonalarining o‘rganilish masalalari
  • Funksiyalar va arrow function
  • Tashkilot xodimlari ma’lumotlarini jamlovchi tizim

Подтвердить покупку

Да Нет

© Copyright 2019-2026.

  • Инструкция по снятию с баланса
  • Контакты
  • Инструкция использования сайта
  • Инструкция загрузки документов
  • O'zbekcha