1 / 24

stl programming sujan prodhan rajshahi university computer science and engineer

stl programming sujan prodhan rajshahi university computer science and engineerstl programming sujan prodhan rajshahi university computer science and engineerstl programming sujan prodhan rajshahi university computer science and engineerstl programming sujan prodhan rajshahi university computer science and engineerstl programming sujan prodhan rajshahi university computer science and engineerstl programming sujan prodhan rajshahi university computer science and engineerstl programming sujan prodhan rajshahi university computer science and engineerstl programming sujan prodhan rajshahi

Sujan3
Download Presentation

stl programming sujan prodhan rajshahi university computer science and engineer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Prodhan’s Diary 1 Contents INTRODUCTION OF STL ................................................... 3 1. ভেক্টর ......................................................................... 3 2.স্ট্রিং ............................................................................... 4 3.স্ট্যাক ............................................................................. 5 4.স্ট্কউ .............................................................................. 5 5.প্রায় াস্ট্রটি স্ট্কউ .............................................................. 5 6.ইটায়রটর ........................................................................ 6 7.সট ট ................................................................................. 6 8.ভসট ............................................................................... 8 9.ম্যাপ .............................................................................. 9 PR0GRAMMING STL 10.স্ট্রিংস্ট্রম্ .................................................................... 10 11.ভপ ার ........................................................................ 10 12.ভেক্সট পারম্ুয়টশে, স্ট্প্রে পারম্ুয়টশে ............................ 10 WRITTEN BY SUJAN PRODHAN 13.স্ট্রোসট ........................................................................ 11 Continue any part of the book under your own name. Offenses punishable by law.Various websites such as GitHub have been used to develop the book.You can visit prodhan2.blogspot.com to know more details about us. STL Binary Search…. ..................................................... 12 Count STL ...................................................................... 12 Deque STL………. ........................................................... 13 Forward list .................................................................. 13 Iterators ........................................................................ 14 IS SORTED ..................................................................... 14 IS SORTED UNTIL .......................................................... 15 COMPUTER SCIENCE AND ENGINEERING LIST................................................................................ 15 MAX AND MIN.............................................................. 16 MULTISET...................................................................... 16 In the second partI have added examples with explanation of examples. That will help you understand the examples.. MERGE .......................................................................... 17 MAP AND MULTIMAP .................................................. 17 PAIR .............................................................................. 18 PARTIAL SORT............................................................... 18 POPCOURT .................................................................... 19 QUEUE .......................................................................... 19 REVERESE ...................................................................... 19 REVERSE COPY .............................................................. 20 ROTATE ......................................................................... 20 1

  2. Prodhan’s Diary 2 SET ................................................................................. 21 SORT .............................................................................. 21 STACK ............................................................................ 22 TEMPLATE CLASS .......................................................... 22 TEMPLATE FUNCTION................................................... 22 UNORDERD MAP .......................................................... 23 UNORDERD SET ............................................................ 23 VETCOR ......................................................................... 23 IMPOTANT PROGRAMMING ........................................ 24  Transform string toupper & tolower ................ 24 MAX VALUE OF Array .................................................... 24 Dept. COMPUTER SCIENCE AND ENGINEERING Batch-29 Dept. COMPUTER SCIENCE AND ENGINEERING Batch-29 Dept. COMPUTER SCIENCE AND ENGINEERING Batch-29 2

  3. Prodhan’s Diary 3 বভক্টর হব্রলা একটা অ্োব্রর, বেটায় ডাইনাশমকাশল শজশনসপাশে ঢুশকব্রয় রাো োয়। মাব্রন, এটাও একটা অ্োব্রর, শকন্তু বসটা ঠিক েেটুকু বমমশর োয়, েেটুকু োওয়া লাব্রগ। INTRODUCTION OF STLহল একটা বেশ েড়সড় একটা লাইব্রেরী। বমাটামুটি বেশশরভাগ ডাটা স্ট্রাকচার আর হাশেজাশে এটার মব্রযে শলব্রে রাো আব্রে, বোমাব্রক শুযু জানব্রে হব্রে বসটা েুশম শকভাব্রে েেেহার করব্রে। বভক্টর শডব্রেয়ার কব্রর এভাব্রে 1. ভেক্টর মাব্রে মাব্রে এমন হয় - আমাব্রের একটা 2D অ্োব্রর েরকার, বেটায় বমাটামুটি প্রশেটায় সব্রেবাচ্চ ১০০০০ টা ডাটা রােব্রে হব্রে, আর প্রশেটা ডাটায় সব্রেবাচ্চ ১০০০০টা কব্রর ডাটা রাো লাগব্রে। শকন্তু আমাব্রক এটাও েলা আব্রে বে সব্রেবাচ্চ ১০০০০০ টা ডাটা থাকব্রে পাব্রর। vector< int > array; েুশম েশে অ্নে বকান টাইব্রপর ডাটা শনব্রে চাও োইব্রল int এর জায়গায় বসই ডাটার নাম শলেব্রে হব্রে। বেমন এটা আব্ররা শকেু অ্োব্রর। েুে সাযারণভাব্রে বেটা মাথায় আব্রস, বসটা হব্রে এরকম শকেু একটা vector< double > water; vector< long long > balance; vector< char > characters; int array[10000][10000]; vector< day > diary; োই না? এটা শকন্তু বেশ েড়সড় একটা অ্োব্রর। আমার কশিউটার মাথা ঘুব্রর পব্রড় োব্রে োব্রক এই পশরমান বমমশর অ্োব্রলাব্রকট করব্রে েলব্রল, শকন্তু আমার আসব্রল এে বেশশ জায়গা লাগব্রে না, কারণ আমাব্রক েব্রলই বেয়া হব্রয়ব্রয় ডাটা সেশমব্রল সব্রেবাচ্চ ১০০০০০ টা থাব্রক পাব্রর। বভক্টব্রর বকান ডাটা রােব্রে হব্রল, বসই বভক্টব্ররর বশব্রে ডাটাটাব্রক পুশ করব্রে হয়। array.push_back( 100 ); আর বভক্টব্রর কটা ডাটা আব্রে বসটা আমরা জানব্রে পাশর .size() ফাাঃশনব্রক কল কব্রর। বেমন যব্ররা, আশম একটা বভক্টব্রর শকেু ইব্রেজার ঢুকাব্রো, োরপর সোইব্রক শপ্রে করব্রো, বসটার বকাড হব্রে এরকম। এযরব্রণর সময়, আমরা ডাইনাশমক বমমশর অ্োব্রলাব্রকট কশর - ঠিক েেটুকু বমমশর েরকার ঠিক েেটুকুই বনই। বেটা মোনুয়াশল করা বেশ েশি, আর বসটায় বমমশর পশরষ্কারও কব্রর শেব্রে হয় কাজ বশব্রে, নইব্রল সে ডাটা জমব্রে জমব্রে কশিউটাব্ররর গলা শচব্রপ যব্রর। int main() { vector< int > v; v.push_back( 1 ); v.push_back( 2 ); v.push_back( 3 ); 3

  4. Prodhan’s Diary 4 v.push_back( 4 ); vector< int > v[100]; for(int i=0; i<v.size(); i++) cout << v[i] << endl; vector< vector< int > > v; vector< vector< vector< int > > > v; // 3 dimensional return 0; } একটা শজশনব্রস একটা সােযান বথব্রকা, vector<vector<int>> v; এভাব্রে শলেব্রল >> এর জনে শকেু কিাইলর শকন্তু এরর মাব্রর। োশক সে শকেুব্রে বভক্টরব্রক সাযারণ অ্োব্ররর মে েেেহার করা োয়। বেমন আশম 0th এশলব্রমেটা পাব্রে শেব্রে পাশর v[0] = 10000 শলব্রে। আব্ররকটা মজা হব্রে আমরা অ্োব্ররব্রে যাম কব্রর সরাসশর কশপ করব্রে পাশর না । শকন্তু বভক্টব্রর বসটা করা োয়। 2.স্ট্রিং শস্ট্রাঃ হব্রে মজার একটা ডাটা স্ট্রাকচার। বমাটামুটি এর কাজ অ্ব্রনকটা কোব্ররক্টার অ্োব্ররর মেই। শকন্তু এটা েেেহার করা বেশ সহজ। বেমন শনব্রচ শকেু শস্ট্রাঃ টাইব্রপর শজশনসপাশের কাজ বেশেব্রয় শেলাম। int main() { vector< int > v, t; int main() { v.push_back( 1 ); string a, b, c; v.push_back( 2 ); a = "this is a string"; // easy assigning v.push_back( 3 ); b = a; // copy hoye gelo! :O v.push_back( 4 ); c = a + b // c te rakhlam a ar b er concatation cout << c << endl; // print korlam t = v; // copying printf("%s\n", c.c_str() ); // printf diyei korlam na hoy for(int i=0; i<t.size(); i++) cout << t[i] << endl; cout << c.size() << endl; // length print korlam return 0; for(int i=0; i<c.size(); i++) cout << c[i] ; } // ekta ekta kore character print korlam বভক্টব্রর েশে আশম 2D ডাটা রােব্রে চাই োহব্রল বসটা েুভাব্রে করা োয়। আশম প্রথমটা বপ্রফার কশর, পব্রররটা বেেব্রে আমার ভয় ভয় লাব্রগ। শকন্তু মাব্রে মাব্রে বকান পথ থাব্রক না বসটা বলো োড়া। return 0; } 4

  5. Prodhan’s Diary 5 েুশম েশে এেন শস্ট্রাঃ এর বভক্টর রােব্রে চাও োহব্রল বসটাব্রক শডব্রেয়ার করব্রে হব্রে এভাব্রে। 4.স্ট্কউ যব্ররা েুশম োব্রসর টিব্রকট শকব্রন লাইব্রন োাংশড়ব্রয় আব্রো। এেন োব্রস ওঠাটা হব্রে আমার কাজ(প্রব্রসশসাঃ)। কাব্রক আব্রগ োব্রস উঠব্রে শেব্রে? বে সোর আব্রগ এব্রসব্রে, োব্রক। এটাব্রক েব্রল শকউ - বে সোর আব্রগ এব্রসব্রে োব্রক আব্রগ প্রব্রসস করা। vector< string > vs; সহজ না? queue< int > q; 3.স্ট্যাক যব্ররা, বোমার মা একগাো বেট যুব্রে শনব্রয় োব্রে োওয়ার বটশেল বথব্রক। সোর পব্রর বেটা রাো হব্রে, বসই বেটটাব্রক শকন্তু সোর উপব্রর রাো হব্রে, আর বসটাই শকন্তু সোর আব্রগ বযায়া হব্রে। q.push( 100 ); // inserting 100 q.push( 101 ); // inserting 101 q.push( 102 ); // inserting 102 while( !q.empty() ) { cout << q.front() << endl; // printing the front q.pop(); // removing that one } এই শজশনসটাব্রক েব্রল স্ট্োক। মাব্রন আমরা সোর পব্রর োব্রক প্রব্রসশসাঃ করব্রে ঢুকাশে োব্রক েশে আব্রগ প্রব্রসশসাঃ কশর োহব্রল বসটাই স্ট্োক। STL এ স্ট্োক েেেহার করব্রে হয় এভাব্রে। 5.প্রায় াস্ট্রটি স্ট্কউ stack< int > st; st.push( 100 ); // inserting 100 আমাব্রের পাড়ার মুশচর প্রশেশেন একগাো কাজ আব্রস। বস কব্রর শক, সেব্রচ' বেশশ পয়সা পাওয়া োব্রে বেই কাব্রজ বসই কাজগুব্রলা সোর আব্রগ কব্রর বফব্রল। বস প্রাব্রয়াশরটি োব্রেরব্রকই বেশশ বেয় োব্রের কাব্রজ বেশশ পয়সা পাওয়া োব্রে। st.push( 101 ); // inserting 101 st.push( 102 ); // inserting 102 while( !st.empty() ) { cout << st.top() << endl; // printing the top এটাও এক যরব্রণর শকউ শুযু পাথবকে হব্রে োর োম েে বেশশ োব্রক েে আব্রগ প্রব্রসস করা হব্রে। st.pop(); // removing that one } priority_queue< int > q; 5

  6. Prodhan’s Diary 6 q.push( 10230 ); // inserting 10230 printf("%d\n", *i); q.push( 1021 ); // inserting 1021 // ei khane gola kato! q.push( 102322 ); // inserting 102322 } while( !q.empty() ) { cout << q.top() << endl; // printing the top 7.সট ট যব্ররা আমার কাব্রে শকেু নাম্বার আব্রে, আশম বসগুব্রলাব্রক বোট বথব্রক েড়ব্রে সাজাব্রো, ো উব্রো কাজটা করব্রো, েড় বথব্রক বোটব্রে সাজাব্রো। এই কাজটাব্রক েব্রল সট ব করা। েশে েুশম সট ব করার শনব্রয় পড়াশুনা কব্রর ফাটাই বফলব্রে চাও োইব্রল এইোব্রন একটু ঢু মাব্ররা। q.pop(); // removing that one } 6.ইটায়রটর ইটাব্ররটার হব্রলা অ্ব্রনকটা শস এর পব্রয়োব্ররর মে একটা শজশনস। ইটাব্ররটর আসব্রল পব্রর কাব্রজ লাগব্রে, কারণ অ্ব্রনক জায়গায়ই STL এর ফাাঃশনগুব্রলা একটা অ্োডব্ররস পাঠায়, বে আশম বেই ডাটাটাব্রক েুাংজশে, বসটা ঠিক বকাথায় আব্রে। STL এ সট ব করা েুে সহজ। যব্ররা আমার একটা বভক্টর v আব্রে, বসটা আশম সট ব করব্রো। োহব্রলা আমার শুযু শলেব্রে হব্রে - sort( v.begin(), v.end() ); ইটাব্ররটর শডব্রেয়ার কব্রর এইভাব্রে vector< int > :: iterator i; োহব্রল বস বোট বথব্রক েড় বে বভক্টরটাব্রক সট ব কব্রর বফলব্রে। এেন যব্ররা আমাব্রক েশে আব্ররকটু োব্রমলার শকেু করব্রে েব্রল। বেমন যব্ররা চাচা বচৌযুরী োর বমব্রয়র শেব্রয় শেব্রে, বো বস বগব্রলা ঘটক পাশে ভাইব্রয়র কাব্রে। ঘটক পাশে ভাইব্রয়র কাব্রে একটা বেব্রল মাব্রন, োর নাম-যাম, োর োঃশ, বস কে টাকা কামায়, োর উচ্চো কব্রো, আর োর ওজন কে। বেব্রলটা শস++ এ বকাড কব্রর না জাভাব্রে বকাড কব্রর, বসটা শনব্রয় ঘটক পাশে ভাইব্রয়র বকানই মাথা েোথা নাই। বো বস করব্রলা শক চাচা বচৌযুরীব্রক শুযু এই ক্য়টা ডাটাই সাোই শেব্রলা কব্রয়কটা েস্থা ভব্রর। এেন চাচা বচৌযুরী পাড়ার পোে শঢলা মাস্থাব্রনর কাে বথব্রক শুনব্রলা েুশম একটা েস বপ্রাগ্রামার, বো বস এব্রস বোমাব্রক েলল, vector< double > :: iterator j; আর ফর লুপ শেব্রয় একটা বভক্টব্ররর প্রথম বথব্রক বশে পেবন্ত সে এশলব্রমব্রের গলা কাটব্রে চাই োহব্রল বসটা শলেব্রে হব্রে এভাব্রে। vector< int > v; v.pb( 1 ); v.pb( 2 ); v.pb( 3 ); vector< int > :: iterator i; for( i = v.begin(); i < v.end(); i++ ) { 6

  7. Prodhan’s Diary 7 "োোশজ! আমাব্রক একটা সফটওয়োর োশনব্রয় োও, বেটা আমার ডাটাগুব্রলাব্রক সাজাব্রে"। }else return a.height > b.height; }else return a.income > b.income; } বেশ বো, এেন আমার ডাটাটা হব্রে এরকম - (চাচা বচৌযুরী আোর োঃশ শনব্রয় মাথা ঘামায় না) এই ফাাঃশনটা বলাোশল শডব্রেয়ার কব্রর বেোব্রন েুশম সট ব করব্রে চাও বসোব্রন শলেব্রে হব্রে। struct data { char name[100]; sort( v.begin(), v.end(), compare ); int height, weight; long long income; কব্রিয়ার ফাাঃশনটা শরটানব করব্রে a শক b এর আব্রগ েসব্রে শক না। আর শকেু না। }; চাচা বচৌযুরী বেটা শনব্রয় মাথা ঘামায় বসটা হব্রলা বপালার কে টাকা কামাই। েশে েুইটা বপালার সমান কামাই হয়, োইব্রল বেই বপালার হাইট ভাব্রলা, বসই বপালা শলব্রস্ট্ আব্রগ থাকব্রে। আর েশে েুই বপালার হাইট সমান হয় োইব্রল বেই বপালার ওজন কম, বসই বপালা আব্রগ থাকব্রে। আর েশে েুই বপালার ওজন সমান হয়, োইব্রল বেই বপালার নাম বোট বসই বপালা আব্রগ থাকব্রে। সট ব করার অ্নে পথটা হব্রে অ্পাব্ররটর ওভারব্রলাড কব্রর। যব্ররা, আমরা েেন েশল ২ < ৩ আমরা েুব্রে বনই বে ২ হব্রে ৩ এর বোট - মাব্রনর শেক শেব্রয়। এেন একটা স্ট্রাকচার কেন অ্নে আব্ররকটা স্ট্রাকচাব্ররর বচব্রয় বোট হব্রে? এই শজশনসটা বোমার বপ্রাগ্রাব্রম শডফাইন কব্রর শেব্রে হব্রে। এোব্রন বেয়াল কব্ররা, বোট হোর মাব্রন বোোব্রে বস শলব্রস্ট্ আব্রগ থাকব্রে। এেন বোমাব্রক এই অ্নুোয়ী সট ব কব্রর শেব্রে হব্রে। আর েুশম েশে বেশশ হাাঃশক পাাঃশক কব্ররা, োইব্রল পোে শঢলা মাস্থান এব্রস বোমাব্রক সাইজ কব্রর শেব্রে। আশম েশে একই কাজটা অ্পাব্ররটর ওভারব্রলাড শেব্রয় করব্রে চাই, বসটা এরকম হব্রে। এই কাজটা েুই ভাব্রে করা োয়। সেব্রচ সহজটা হব্রলা একটা কব্রিয়ার ফাাঃশন শলব্রে। bool compare( data a, data b ) { if( a.income == b.income ) { if( a.height == b.height ) { struct data { if( a.weight == b.weight ) char name[100]; return strlen( a.name ) < strlen( b.name ); int height, weight; else return a.weight < b.weight; long long income; 7

  8. Prodhan’s Diary 8 data array[100]; bool operator < ( const data& b ) const { if( income == b.income ) { sort( array, array + n ); if( height == b.height ) { বেোব্রন n হব্রে অ্োব্ররব্রে কেগুব্রলা ডাটাব্রক েুশম সট ব করব্রে চাও। if( weight == b.weight ) return strlen( name ) < strlen( b.name ); েুশম েশে 3 নাম্বার (0 based)বথব্রক 10 নাম্বার পেবন্ত সট ব করব্রে চাও শলব্রো else return weight < b.weight; }else return height > b.height; }else return income > b.income; sort( array+3, array+11 ); } 8.ভসট বকান শকেুর বসট েলব্রে আসব্রল েুোয় শুযু শজশনসগুব্রলার নাম একোর কব্রর থাকাব্রক। }; এোব্রন শকন্তু আশম এই ডাটাটাব্রকই অ্নে আব্ররকটা ডাটা b এর সাব্রথ েুলনা করশে, বসজনে আমার আব্রগরটার মব্রো a বক লাগব্রে না। বেমন A = { রশহম, কশরম, গরু, শেড়াল, কশরম, োশলশ, রশহম, কশরম } একটা বসট না, শকন্তু আর আমার সট ব এর কমান্ড শলেব্রে হব্রে এইভাব্রে। A = { রশহম, কশরম, গরু, শেড়াল, োশলশ } একটা বসট। sort( v.begin(), v.end() ); STL এর বসট কব্রর শক, বসট এ সে ডাটা গুব্রলা একোর কব্রর রাব্রে, আর ডাটাগুব্রলাব্রক সট ব ও কব্রর রাব্রে। এটা হব্রলা বসট এর কাজ কারোর - বোমার েশে বভক্টর েেেহার করব্রে আপশি থাব্রক, যব্ররা বভক্টর বেেব্রলই হাাংশচ আসা শুরু কব্রর, নাক চুলকায় শকাঃো এযরব্রণর শকেু, েুশম সাযারণ অ্োব্ররই েেেহার করব্রে পাব্ররা। set< int > s; s.insert( 10 ); s.insert( 5 ); s.insert( 9 ); যব্ররা বসব্রেব্রে অ্োব্ররটা হব্রে এরকম - set< int > :: iterator it; 8

  9. Prodhan’s Diary 9 েোপারটা োাংড়াব্রো আমাব্রের একটা মোশজক অ্োব্রর আব্রে বেটাই আমরা বেব্রকান যরব্রণর ডাটা জশমব্রয় রােব্রে পাশর আমাব্রের ইো মব্রো বে বকান যরব্রণর ইনব্রডে শেব্রয়। for(it = s.begin(); it != s.end(); it++) { cout << *it << endl; } েশে েুশম স্ট্রাকচার টাইব্রপর ডাটা রােব্রে চাও বসট এ, শুযু < অ্পাব্ররটরটা ওভারব্রলাড কব্রর ওব্রক েব্রল শনও, বে েুশম বোট েলব্রে শক েুোব্রো। োশক কাজ ওই করব্রে। সহজভাব্রে মোপব্রক েুশম এভাব্রে শচন্তা করব্রে পাব্ররা, মোপ হব্রে একটা অ্োব্রর, বেটার ইনব্রডে বেব্রকান শকেুই হব্রে পাব্রর, আর বসটাব্রে বেটা ইব্রে বসটাই রাো বেব্রে পাব্রর! map< string, int > m; string goru; বসট সাযারণে এযরব্রণর প্রেব্রলমগুব্রলাব্রে কাব্রজ লাব্রগ। আমাব্রক অ্ব্রনকগুব্রলা সাঃেো শেব্রয় েলল, এোব্রন ইউশনক কয়টা সাঃেো আব্রে। বসব্রেব্রে আশম োশল একটার পর একটা সাঃেো ইনপুট শনব্রে থাকব্রো বো শনব্রেই থাকব্রো, আর বসব্রট ঢুকাব্রো বো ঢুকাব্রেই থাকব্রো, োরপর োশল বসব্রটর সাইজ শপ্রে কব্রর শেব্রো। বকল্লা ফব্রেহ! while( cin >> goru ) { if( goru == "moro" ) break; m[ goru ] ++; cout << goru <<" ase " << m[ goru ] << " ta :D " << endl; 9.ম্যাপ } এই বপ্রাগ্রামটা করব্রে শক, গরুর নাম ইনপুট শনব্রে থাকব্রে, আর প্রশেোর েলব্রে বে ওই জাব্রের কয়টা গরু আব্রে। মোপব্রক অ্োব্ররর মে যব্ররই ইনশিব্রমে করা োয়। মোপও বসব্রটর মব্রো একটা শজশনস। শকন্তু মোপ বসব্রটর মে বকান শজশনস একটা বরব্রে ওই যরব্রণর োশক সোইব্রক োইব্রর বফব্রল বেয় না। অ্েশে েুশম েশে বোমার োনাব্রনা বকান স্ট্রাকচার/োস রােব্রে চাও ইনব্রডে শহব্রসব্রে, বোমাব্রক বসটার জনে < অ্পাব্ররটরটা ওভারব্রলাড কব্রর শেব্রে হব্রে। েব্রে এভাব্রে ভাোর বচব্রয় মোপব্রক আব্ররকটু সহজভাব্রে ভাো োয়। একটা অ্োব্ররর কথা শচন্তা কব্ররা, আমরা কশর শক অ্োব্ররর একটা ইনব্রডব্রে ডাটা জমাই না? বকমন হব্রো, েশে ইনব্রডেটা শুযু সাঃেো না হব্রয় বেব্রকান শকেু হব্রে পারব্রো? যব্ররা, ১ নম্বর ইনব্রডব্রে না বরব্রে, "োাঃলাব্রেশ" নাব্রমর ইনব্রডব্রে ডাটা েশে রােব্রে পারোম? েেন 9

  10. Prodhan’s Diary 10 10.স্ট্রিংস্ট্রম্ যব্ররা বকান শয়োন েুে শে কব্রর প্রেব্রলম বসট তেরী করব্রলা, আমাব্রক েলল, "বোমাব্রক একলাইব্রন েিগুলা ইো েিগুলা কব্রর সাঃেো শেমু, েুশম আমাব্রর সট ব কইরা শেো! মুহাহাহাহা!" েেন কব্রে একটা চড় মারব্রে ইব্রে করব্রলও শকেু করার বনই। বোমাব্রক োই করব্রে হব্রে। struct pair { int first, second; }; েব্রে শজশনসটা এমন না, েুশম বেব্রকান টাইব্রপ কাজ করব্রে পাব্ররা। বেমন এটা েশে আশম STL এর বপয়ার শেব্রয় শলশে, শজশনসটা হব্রে এরকম pair< int, int > p; এই বচহারাটা শক মব্রন পব্রড়? এব্রক শক আব্রগ বেব্রেব্রো? হুমম, মোব্রপর স্ট্রাকচাব্রর আব্ররকোর বচাে েুলাও। ;) আমরা লাইব্রনর ইনপুট বনই হব্রে বগটস শেব্রয়। বো েোপারটা এরকম হব্রে। char line[1000]; আমরা ইব্রে মব্রো বপয়ার শডফাইন করব্রে পাশর, বেভাব্রে ইব্রে। মোব্রপর ডাটা টাইব্রপর মেনই! while( gets( line ) ) { stringstream ss( line ); // initialize kortesi pair< int, int > p; int num; vector< int > v; pair< int, double > x; while( ss >> num ) v.push_back( num ); // :P pair< double, string > moru; sort( v.begin(), v.end() ); pair< goru, goru > fau; // print routine } ো ইব্রে! 12.ভেক্সট পারম্ুয়টশে, স্ট্প্রে পারম্ুয়টশে ss এর পব্ররর বহায়াইল লুপ অ্াঃশটা েুশম cin এর মব্রো কব্ররই ভােব্রে পাব্ররা! ;) আশম বসভাব্রেই শচন্তা কশর। যব্ররা হঠাৎ একশেন ঘুম বথব্রক উব্রঠ বেেলা বে বোমার এগাব্ররাটা োচ্চা এোঃ কালব্রক ঈে আর আজব্রক বোমার ওব্রের জনে ঈব্রের জামা শকনব্রে হব্রে। সমসো হব্রে, বোমার েউ এরই মব্রযে এগাব্ররাটা জামা শকব্রন বফব্রলব্রে আর আব্ররা সমসো হব্রে বসটা বস লটাশর কব্রর শেব্রয় শেব্রয়ব্রে এোঃ বসজনে োব্রের োব্রের জামা পেন্দ হয়শন োরা কান্নাকাটি 11.ভপ ার STL এর একটা স্ট্রাকচার োনাব্রনা আব্রে, োর অ্েস্দা বমাটামুটি এইরকম। 10

  11. Prodhan’s Diary 11 করব্রে। বো বোমার েুে মন োরাপ, েুশম চাও ঈব্রের শেব্রনর সুে োব্রে সেব্রচ' বেশশ হয়। আর েুশম এটাও জাব্রনা বকান জামা পড়ব্রল বকান োচ্চা কেটুকু সুশে হব্রে। এেন আমাব্রের সোর সুব্রের বোগফল মোশেমাইজ করব্রে হব্রে। আমরা ৩ এর জনে বেভাব্রে সেগুব্রলা পারমুব্রটশন বজনাব্ররট কব্ররশে, বসটাই এই বনেট পারমুব্রটশন করব্রে। বেয়াল বকার বে, বনেট পারমুব্রটশন শকন্তু ঠিক অ্োলফাব্রেটিকাশল পব্ররর পারমুব্রটশনটাব্রক বনয়। েুশম েশে সে পারমুব্রটশন চাও, প্রথব্রম অ্েশেই অ্োব্ররটাব্রক সব্রট ব ড বরব্রো। এযরব্রণর প্রেব্রলমব্রক েলা হয় কশিট সাচ ব । আমাব্রের সেগুব্রলা অ্পশন ট্রাই করব্রে হব্রে। যব্ররা শেনটা োচ্চার জনে অ্ল পশসেল ট্রাই করা হব্রে এরকম - (জামার নাম্বার শেব্রয়) 13.স্ট্রোসট শরভাসব হব্রে একটা শকেুব্রক যব্রর উোই বেয়া। আেু গােু ডােু যব্ররা আমার একটা বভক্টর আব্রে। ১ ২ ৩ ১ ৩ ২ vector< int > nacho; ২ ১ ৩ reverse( nacho.begin(), nacho.end() ); ২ ৩ ১ পব্ররর বস্ট্টব্রমেটা শলেব্রল, বস নাব্রচাব্রক উোই শেব্রে। ৩ ১ ২ ৩ ২ ১ বো এই শেব্রলা েোশসক শস++ আর STL। এেন এভাব্রে েশে আশম এগাব্ররাটা োচ্চার জনে ঈব্রের জামা পশড়ব্রয় বেেব্রে চাই আমার েেরই আব্রে - 11! ভাব্রে ট্রাই করব্রে হব্রে। বো বসই জনেই আব্রে STL এর বনেট পারমুব্রটশন বকান প্রশ্ন থাকব্রল আমাব্রক জানাও, আশম বসটা এোব্রন আপব্রডট করব্রো। আর একটা শজশনস মাথায় বরব্রো, েুশম েশে বকান শকেুব্রে ভাব্রলা হব্রে চাও, বোমার প্রোকটিস লাগব্রে, আর বসটা বকউ শশশেব্রয় শেব্রে পারব্রে না। েুশম েশে বেশশ বকান শকেু েেেহার করব্রে, েুশম েে ভাব্রলা হব্রে বসটাব্রে। vector< int > v; for(int i=0; i<11; i++) v.push_back( i ); do { // protitat jama prottekke porai dekho shukh maximize hochche kina }while( next_permutation( v.begin(), v.end() ) ); 11

  12. Prodhan’s Diary 12 STL Binary Search…. STL Binary Search…. Count S Count STL TL #include <bits/stdc++.h> using namespace std; #include<bits/stdc++.h> int main() Using namespace std; { int main() int arr[9] = {1,4,2,2,5,6,4,2,3}; // array { cout << count(arr, arr + 9, 1) <<endl; index],<element to be searched>) // binary_search([begin index],[end // returns number of times 1 is present in the array - arr ,i.e. 1 // For Vectors vector<int> v{1,4,2,2,5,6,4,2,3}; // vector cout << count(v.begin(), v.end(), 2) << endl; vector<int>v={1,2,3,6,8}; // returns number of times 2 is present in the vector - v ,i.e. 3 if(binary_search(v.begin(),v.end(),3)) string s = "C++ STL Examples from github"; // string cout<< "Element is present" <<endl; cout << count(s.begin(), s.end(), 'm') << endl; else // returns number of times m is present in the string - s ,i.e. 2 Element is present cout<< "Element is not present" <<endl; // } // For Arrays int arr[5] = {1,2,3,4,5}; if(binary_search(arr + 0, arr + 4,9)) cout<< "Element is present" <<endl; else Element is not present cout<< "Element is not present" <<endl; // } 12

  13. Prodhan’s Diary 13 Deque STL………. Deque STL………. Forward list Forward list #include<bits/stdc++.h> #include<bits/stdc++.h> using namespace std; using namespace std; int main(){ // singly LL int main() forward_list<int>l1={2,5,6,7}; { deque<int> d = {2, 3, 4}; cout<<l1.front()<<endl; // 2 for(auto it=l1.begin();it!=l1.end();it++) d.push_front(1); cout<<*it<<" "; // 2 5 6 7 d.pop_back(); cout<<endl; for(int x: d) the forward_list // Values can also be assigned after declaring cout<< x <<" "; // 1 2 3 forward_list<int>l2; cout<<endl; l2.assign({3,4,5,6}); d.push_back(3); l2.push_front(4); // 4 3 4 5 6 d.pop_front(); cout<<distance(l2.begin(),l2.end())<<endl; // 5 for(int x: d) cout<< x <<" "; // 2 3 3 for(auto it=l2.begin();it!=l2.end();it++) cout<<endl; cout<<*it<<" "; // 4 3 4 5 6 cout<<endl; } l2.pop_front(); for(auto it=l2.begin();it!=l2.end();it++) cout<<*it<<" "; // 3 4 5 6 cout<<endl; } 13

  14. Prodhan’s Diary 14 Iterators Iterators #include <bits/stdc++.h> IS SORTED IS SORTED #include<bits/stdc++.h> using namespace std; using namespace std; int main() { int main() vector<int> v{1,4,2,2,5,6,4,2,3}; // vector { vector<int> v{5, 3, 2, 4, 9, 1}; vector<int>::iterator ptr; // creating an iterator to a vector 0 cout<< is_sorted(v.begin(), v.end()) << endl; // // .begin() gives the value of starting position of the container greater<int>()) <<endl; // 0 cout<< is_sorted(v.begin(), v.end(), // .end() gives memory address which is after the end of the container sort(v.begin(), v.end()); // 1 2 3 4 5 9 for (ptr = v.begin(); ptr < v.end(); ptr++) 1 cout<< is_sorted(v.begin(), v.end()) << endl; // { cout<< *ptr << " "; // 1 4 2 2 5 6 4 2 3 greater<int>()) <<endl; // 0 cout<< is_sorted(v.begin(), v.end(), } cout<<endl; 3 2 1 sort(v.begin(), v.end(), greater<int>()); // 9 5 4 vector<int>::iterator itr = v.begin(); // iterator pointing to index 0 advance(itr, 3); // iterator pointing to index 3 0 cout<< is_sorted(v.begin(), v.end()) << endl; // cout<< *itr <<endl; // prints 2 auto itrnxt = next(itr, 2); // pointing 2 indices after index 3 (where itr is pointing) greater<int>()) <<endl; // 1 cout<< is_sorted(v.begin(), v.end(), auto itrprv = prev(itr, 2); // pointing 2 indices before index 3 (where itr is pointing) } cout<< *itrnxt <<" "<< *itrprv <<endl; // 6 4 } // Iterators are pointers which are used to point memory addresses of STL containers 14

  15. Prodhan’s Diary 15 l3.push_front(9); // 9 4 5 6 8 IS IS SORTED UNTIL SORTED UNTIL #include<bits/stdc++.h> l3.push_back(6); // 9 4 5 6 8 6 using namespace std; // Removing all occurances of specified digit l3.remove(6); // 9 4 5 8 int main() { for(auto it=l3.begin();it!=l3.end();it++) vector<int> v{1, 2, 3, 0, 5, 3, 2, 8, 9}; cout<<*it<<" "; // 9 4 5 8 cout<<endl; auto it1 = is_sorted_until(v.begin(), v.end()); greater<int>()); auto it2 = is_sorted_until(v.begin() + 4, v.end(), // Emplace functions can also be used l3.emplace_front(14); auto difference1 = distance(v.begin(), it1); l3.emplace_back(16); auto difference2 = distance(v.begin() + 4, it2); for(auto it=l3.begin();it!=l3.end();it++) cout<<*it<<" "; // 14 9 4 5 8 16 cout<< difference1 <<endl; // 3 cout<<endl; cout<< difference2 <<endl; // 3 } l3.pop_front(); l3.pop_back(); for(auto it=l3.begin();it!=l3.end();it++) LIST LIST cout<<*it<<" "; // 9 4 5 8 cout<<endl; #include<bits/stdc++.h> } using namespace std; int main(){ // List in C++ = Doubly Linked List list<int>l3={6,6,4,5,6,8}; cout<<l3.front()<<" "<<l3.back()<<endl; // 4 8 // Functions to push integers in front and back 15

  16. Prodhan’s Diary 16 MAX AND MIN MAX AND MIN #include<bits/stdc++.h> MULTISET MULTISET #include<bits/stdc++.h> using namespace std; using namespace std; int main() int main(){ { multiset<int>s; // For Vectors s.insert(10); vector<int>v={3,1,2,5,6,0}; s.insert(8); s.insert(1); auto it= max_element(v.begin(),v.end()); s.insert(2); cout<< *it<<endl; //returns 6 s.insert(10); // {1,2,8,10,10} cout<<s.size()<<endl; // 5 auto itr=min_element(v.begin(),v.end()); auto it=s.find(8); cout<< *itr<<endl; //returns 0 if(it!=s.end()) cout<<"Present"<<endl; // For Arrays int count=s.count(10); int arr[5] = {1, 2, 3, 4, 5}; cout<<count<<endl; // 2 s.erase(10); auto itra= max_element(arr+0, arr+5); for(auto it=s.begin();it!=s.end();it++) cout<< *itra<<endl; //returns 5 cout<<*it<<endl; // {1,2,8} s.clear(); auto itre=min_element(arr+0, arr+5); if(s.empty()) cout<< *itre<<endl; //returns 1 cout<<"Yes"<<endl; return 0; else } cout<<"No"<<endl; // Yes } 16

  17. Prodhan’s Diary 17 MERGE MERGE #include<bits/stdc++.h> MAP AND MULTIMAP MAP AND MULTIMAP #include<bits/stdc++.h> using namespace std; using namespace std; int main(){ int main(){ // merging Vectors map<int,int>mp; vector<int>v1 = {3, 1, 2, 5}; mp.insert(pair<int,int>(2,20)); vector<int>v2 = {4, 1, 8, 9}; mp.insert(pair<int,int>(3,10)); vector<int>v3(10); mp[4]=80; v3.begin()); merge(v1.begin(), v1.end(), v2.begin(), v2.end(), cout<<mp.size()<<endl; // 3 // mp.clear(); if(mp.empty()) for (int i = 0; i < v3.size(); i++) cout<<"Yes"<<endl; 4 1 5 8 9 0 0 cout<<v3[i]<<" "; // returns 3 1 2 else cout<<"No"<<endl; cout<<endl; for(auto it=mp.begin();it!=mp.end();it++) // merging Arrays cout<<it->first<<" "<<it->second<<endl; int arr1[4] = {1, 2, 3, 4}; int arr2[2] = {7, 8}; each element*/ /* problem : Given elements count frequency of int arr3[6]; cout<<"Problem solution"<<endl; merge(arr1+0, arr1+4, arr2+0, arr2+2, arr3+0); ,2}; vector<int>given_elements={20,20,10,10,10,5,2 for (int i = 0; i < 6; i++) map<int,int>mpp; 4 7 8 cout<<arr3[i]<<" "; // returns 1 2 3 for(int i=0;i<given_elements.size();i++) cout<<endl; mpp[given_elements[i]]++; return 0; } for(auto it=mpp.begin();it!=mpp.end();it++) cout<<it->first<<" "<<it->second<<endl; return 0; } 17

  18. Prodhan’s Diary 18 PAIR PAIR #include<bits/stdc++.h> PARTIAL SORT PARTIAL SORT #include<bits/stdc++.h> using namespace std; using namespace std; int main() { // initialization // partial_sort(<start>, <middle>, <end>) pair<int,int>p1; // partial sort will place sorted elements from the whole vector between <start> and <end> p1={2,4}; // but place sorted elements only starting from <start> to <middle> elements pair<int,int>p2(5,8); pair<int,int>p3=p1; pair<float,int>p4=make_pair(3.4,6); int main() // accessing the values { cout<<p1.first<<" "<<p1.second<<endl; vector<int> v{1, 6, 3, 8, 3, 4, 5, 9, 0, 7}; cout<<p2.first<<" "<<p2.second<<endl; cout<<p3.first<<" "<<p3.second<<endl; partial_sort(v.begin(), v.begin() + 4, v.end()); cout<<p4.first<<" "<<p4.second<<endl; for(int x: v) // pair array cout<< x <<" "; // 0 1 3 3 8 6 5 9 4 7 pair<int,int>p5[4]; cout<<endl; for(int i=0;i<4;i++) { 3, greater<int>()); partial_sort(v.begin() + 2, v.begin() + 6, v.end() - // Taking user input inside the pair array cin>>p5[i].first>>p5[i].second; } for(int x: v) cout<< x <<" "; // 0 1 8 6 5 3 3 9 4 7 for(int i=0;i<4;i++) cout<<endl; { } "<<p5[i].second<<endl;} cout<<p5[i].first<<" } 18

  19. Prodhan’s Diary 19 POPCOURT POPCOURT #include<bits/stdc++.h> REVERESE REVERESE #include<bits/stdc++.h> using namespace std; using namespace std; int main(){ int n=10; int main(){ // Displaying the number of bits which are set to true cout<< __builtin_popcount(n) <<endl; // 2 // For Vectors //(in binary notation 10 => 1 0 1 0 => 2 bits are set to true) vector<int>v={3,1,2,5,6,0}; } reverse(v.begin(),v.end()); QUEUE QUEUE #include<bits/stdc++.h> for(int i=0;i<v.size();i++) cout<<v[i]<<" "; // 0 6 5 2 1 3 using namespace std; cout<<endl; int main(){ queue<int>q; // For Arrays q.push(4); int arr[6] = {3,1,2,5,6,0}; q.push(5); q.push(3); // 4 5 3 reverse(arr + 0, arr + 6); q.pop(); // 5 3 cout<<q.front()<<endl; // returns 5 for(int i=0;i<6;i++) cout<<q.size()<<endl; // returns 2 cout<<arr[i]<<" "; // 0 6 5 2 1 3 cout<<q.back()<<endl; // returns 3 cout<<endl; if(q.empty()) cout<<"Yes"<<endl; return 0; else cout<<"No"<<endl; } return 0; } 19

  20. Prodhan’s Diary 20 R REVERSE COPY EVERSE COPY #include <bits/stdc++.h> ROTATE ROTATE #include <bits/stdc++.h> using namespace std; using namespace std; int main() int main() { { vector<int> v{1,4,2,2,5,6,4,2,3}; // vector int arr[9] = {1,4,2,2,5,6,4,2,3}; // array for(int x : v) cout<< x <<" "; // 1 4 2 2 5 6 4 2 3 vector<int> v{1,4,2,2,5,6,4,2,3}; // vector cout<<endl; vector <int> arrRevCpy(9); // rotate(v.begin(), v.begin() + n, v.end()) vector <int> vRevCpy(9); // where, n = current position of the element which is going to be the first element after the rotation. reverse_copy(arr, arr + 9, arrRevCpy.begin()); // rotating the vector left by 2 position // copies array arr in the vector arrRevCpy in reverse order rotate(v.begin(), v.begin() + 2, v.end()); // we have to add 2 because 2nd index becomes the 0th index now reverse_copy(v.begin(), v.end(), vRevCpy.begin()); for(int x : v) // copies vector v in the vector vRevCpy in reverse order cout<< x <<" "; // 2 2 5 6 4 2 3 1 4 cout<<endl; // printing the copied vectors // rotating the vector right by 3 positions for(int x : arrRevCpy) rotate(v.begin(), v.begin() + v.size() - 3, v.end()); cout<< x << " "; // 3 2 4 6 5 2 2 4 1 // we have to add (v.size() - 3) because (v.size() - 3)th index becomes the 0th index now cout<<endl; for(int x : v) for(int x : vRevCpy) cout<< x <<" "; // 3 1 4 2 2 5 6 4 2 cout<< x << " "; // 3 2 4 6 5 2 2 4 1 cout<<endl; cout<<endl; } } 20

  21. Prodhan’s Diary 21 cout<<"Yes"<<endl; S SET ET #include<bits/stdc++.h> else cout<<"No"<<endl; using namespace std; } int main(){ set<int>s; s.insert(10); s.insert(10); s.insert(8); s.insert(1); s.insert(2); S SORT #include <bits/stdc++.h> ORT s.insert(2); s.insert(10); // {10,8,1,2} => {1,2,8,10} set<int>s; s.insert(10); s.insert(8); s.insert(1); using namespace std; int main(){ // In C++, sets are sorted automatically cout<<s.size()<<endl; // 4 // For vectors auto it=s.find(8); vector<int>v = {3,1,2,5,6,0}; if(it!=s.end()) sort(v.begin(),v.end()); // ascending order cout<<"Present"<<endl; for(int i = 0; i < v.size(); i++) int count=s.count(1); // return 1 cout<<endl; cout<<v[i]<<" "; // returns 0 1 2 3 5 6 cout<<count<<endl; descending order sort(v.begin(), v.end(), greater<int>()); // for(auto it=s.begin();it!=s.end();it++) cout<<*it<<endl; for(int i=0;i<v.size();i++) s.clear(); cout<<endl; cout<<v[i]<<" "; // returns 6 5 3 2 1 0 if(s.empty()) cout<<"Yes"<<endl; // For array else int arr[6] = {3,1,2,5,6,0}; cout<<"No"<<endl; sort(arr + 0, arr + 6); // ascending order cout<<s.size()<<endl; // 4 for(int i=0;i<6;i++) auto it=s.find(8); cout<<arr[i]<<" "; // returns 0 1 2 3 5 6 if(it!=s.end()) cout<<endl; cout<<"Present"<<endl; descending order sort(arr + 0, arr + 6, greater<int>() ); // int count=s.count(1); // return 1 for(int i = 0; i < 6; i++) cout<<count<<endl; 0 cout<<arr[i]<<" "; // returns 6 5 3 2 1 for(auto it=s.begin();it!=s.end();it++) cout<<*it<<endl; s.clear(); return 0; if(s.empty()) 21

  22. Prodhan’s Diary 22 } y=b; } STACK STACK #include<bits/stdc++.h> T getfirst(){ return x; using namespace std; } int main(){ T getsecond(){ stack<int>s; return y; s.push(4); } s.push(5); }; s.push(3); // 4 5 3 int main(){ cout<<s.top()<<endl; // returns 3 Pair<int> p1(3,5); cout<<s.size()<<endl; // returns <<endl; // 3 5 cout<< p1.getfirst() <<" "<< p1.getsecond() s.pop(); cout<<s.top()<<endl; // returns Pair<float> p2(3.5,7.8); if (s.empty()) <<endl; // 3.5 7.8 cout<< p2.getfirst() <<" "<< p2.getsecond() cout<<"Yes"<<endl; return 0; else cout<<"No"<<endl; } return 0; TEMPLATE FUN TEMPLATE FUNCTION #include<bits/stdc++.h> CTION } using namespace std; TEMPLATE CLASS TEMPLATE CLASS template<typename T> T maxi(T a,T b) #include<bits/stdc++.h> { if(a>b) return a; using namespace std; template<typename T> else return b; class Pair{ T x; } T y; int main() { public: Pair(T a,T b){ cout<< maxi<int>(3,6) <<endl; cout<< maxi<float>(3.5,6.2) <<endl; x=a; 22

  23. Prodhan’s Diary 23 return 0; s.insert(8); } s.insert(1); s.insert(2); s.insert(10); // {10,8,1,2} UNORDERD MAP UNORDERD MAP cout<<s.size()<<endl; // returns 4 auto it = s.find(8); #include<bits/stdc++.h> if (it != s.end()) using namespace std; cout<<"Present"<<endl; int main(){ int count = s.count(1); // returns 1 unordered_map<int,int>mp; cout<<count<<endl; mp.insert(pair<int,int>(2,20)); for (auto it = s.begin(); it != s.end(); it++) mp.insert(pair<int,int>(3,10)); cout<<*it<<endl; mp[4]=80; s.clear(); cout<<mp.size()<<endl; // 3 if (s.empty()) // mp.clear(); - to make the map empty cout<<"Yes"<<endl; if(mp.empty()) else cout<<"Yes"<<endl; cout<<"No"<<endl; // prints Yes else return 0; cout<<"No"<<endl; } for(auto it=mp.begin();it!=mp.end();it++) cout<<it->first<<" "<<it->second<<endl; return 0; VETCOR VETCOR #include<bits/stdc++.h> } using namespace std; int main(){ UNORDERD SET UNORDERD SET #include<bits/stdc++.h> vector<int>v; // vector declaration v.push_back(2); using namespace std; v.push_back(4); int main(){ v.push_back(6); unordered_set<int>s; cout<<v.size()<<endl; // simple loop s.insert(10); for(int i=0;i<v.size();i++) 23

  24. Prodhan’s Diary 24 cout<<v[i]<<" "; Array.sort(); cout<<endl; Int Largest = array[n-1]; v.pop_back(); OTHOBA // iterator *max_element(array,array+n); for(auto it=v.begin();it!=v.end();it++) cout<<*it<<" "; SPECIAL NOTES BY MAHFUZ SPECIAL NOTES BY MAHFUZ cout<<endl; // taking user input int n; cin>>n; vector<int>v1(n,0); for(int i=0;i<n;i++) cin>>v[i]; return 0; } IMPOTANT PROGRAMMING IMPOTANT PROGRAMMING  Transform string toupper & tolower #include<bits/stdc++.h> using namespace std; int main() { string name = "Sujan PRoDhAN";// transform(name.begin(),name.end(),name.begin(),::tolower); //tolower sujan prodhan // toupper SUJAN PRODHAN cout<<name<<endl; } MAX VALUE OF Array Int array[ ] = {12,3,4,22,77,33,22,77,89} 24

More Related