Skip to main content

Posts

Divisors Count | Seive Algorithm

  #include <bits/stdc++.h> using   namespace   std ; int   Divisors ( int   n ) {      int  count  =   0 ;      for ( int  i = 1 ; i * i <= n; i ++ )     {          if (i * i == n)         {             count ++ ;         }          else   if (n % i == 0 )         {             count  =  count + 2 ;         }     }           return  count; } //driver program int   main () {      int ...

Seive algorithm for Prime Numbers

  #include <bits/stdc++.h> using   namespace   std ; void   seive ( int   n ) {      bool   arr [n + 1 ];      memset (arr, true , sizeof (arr));      for ( int  i = 2 ; i * i <= n; i ++ )     {          if ( arr [i] == true )         {              for ( int  j  =  i * 2 ; j <= n; j  =  j + i)             {                  arr [j]  =   false ;             }         }     }    ...

Store multiple value under a single key in map || STL

আজকে আমরা দেখবো কীভাবে একটা ম্যাপ এর ভেতরে একটা সিঙ্গেল কী এর আন্ডারে মাল্টিপল ভেলু আমরা রাখতে পারি । সেক্ষেত্রে আমরা মাল্টিপল ভেলু স্টোর করার জন্য ভেক্টর ইউজ করবো । প্রত্যেক টা কী এর আন্ডারে থাকবে একেকটা ভেক্টর । তাহলে চলো কথা না বাড়িয়ে প্রোগ্রামে চলে যাই ।   #include <bits/stdc++.h> using   namespace   std ;   int   main () {     map < int ,vector < int >   >  mp;           for ( int  i = 0 ; i < 5 ; i ++ )     {          int  n;         cin >> n;          mp . insert ( make_pair (n, vector < int >()));              }   ...

Sorting array into increasing and decreasing order

আজকে আমরা দেখবো কীভাবে একটা ইন্টিজার টাইপ অ্যারে কে খুব সহজেই একটা ফাংশন ব্যবহার করে ইনক্রিয়েজিং আর ডিক্রিয়েজিং অর্ডার এ সাজানো যায় ! চলো কথা না বাড়িয়ে প্রোগ্রামে চলে যাই ! #include <bits/stdc++.h> using   namespace   std ;   int   main () {      int   arr [ 5 ]  =  { 4 , 3 , 5 , 2 , 1 };          cout << "without sorting : \n " ;      for ( int  i = 0 ; i < 5 ; i ++ )     {         cout << arr [i] << " " ;     }           sort (arr,arr + 5 );          cout << " \n After sorting in increasing oroder : \n " ;      for ( int...

npos And find function for searching a sub string into a string

আজকে আমরা মজার একটা জিনিশ সম্পর্কে জানবো ! সেটা হলো … নাহ একটা না , ২টা জিনিশ সম্পর্কে জানবো । প্রথমে জানবো একটা স্ট্রিং এর ভেতরে আরেকটা সাবস্ট্রিং আছে কিনা সেটা কীভাবে জানে আর পরে হলো জানবো একটা ইন্টিজার কন্সট্যান্ট সম্পর্কে । তো প্রথমে হলো , আমাদের বের করতে হবে একটা স্ট্রিং এর ভেতরে আরেকটা সাব স্ট্রিং আছে কিনা সেটা । খুব সহজেই আমরা তা বের করে ফেলতে পারি ! কীভাবে ? একটা ফাংশন আছে নাম হলো , ফাইন্ড ফাংশন । মনে করো আমাদের আলোচ্য স্ট্রিং হলো “ ABCD” তো আমরা এখান থেকে জানতে চাই এর মাঝে সাব স্ট্রিং “BC” আছে কিনা । তাহলে আমাদের সিম্পল একটা কাজ করতে হবে । মনে করি আমাদের এই স্ট্রিং টা আছে একটা ভেরিয়েবল এ । ব্যাপার টা হবে এমন । String word = “ABCD”; If(word.find(“BC”)) { Cout } তাহলে জিনিশ টা বুঝা গেলো ? ফাইন্ড ফাংশন তখনই ট্রু রিটার্ন করবে যখন সে সাবস্ট্রিং কে খুঁজে পাবে আর সেই সাথে ইয়েস প্রিন্ট করবে ! আর এখন আমরা জানবো , ঐ ইন্টিজার কন্সট্যান্ট সম্পর্কে । আর এটা হলোঃ npos এটা আমাদের জানায় ইম্পসিবল স্ট্রিং ইন্ডেক্স সম্পর্কে । ...

How to find specific character index in a string || স্ট্রিং এর ভেতরে কীভাবে কোনো ক্যারেকটার এর ইন্ডেক্স খুজে বের করবো ?

আচ্ছা কখনো কি একটা স্ট্রিং এর ভেতরে স্পেসিফিক কোনো ক্যারেকটার কে খোঁজার প্রয়োজন হয়েছিলো তোমার ? এটার জন্য খুব সুন্দর একটা ফাংশন আছে আমি নিজেই এতো দিন জানতাম নাহ ! আজকে শিখলাম । ভাবলাম শেয়ার করি ! আচ্ছা , কথা না বাড়িয়ে চলো কাজে চলে যাই ! আমরা একটা স্ট্রিং এর ভেতরে কোনো একটা স্পেসিফিক ক্যারেকটার এর ইন্ডেক্স বের করতে পারি অথবা সেই ক্যারেকটার টা কে প্রিন্ট ও করতে পারি । এই লিঙ্কে ক্লিক করলেই দেখা যাবে পুরো প্রোগ্রাম টা ! click here

কোনো ক্যারেকটার এর আসকি ভেলু কীভাবে বের করবো ?

কোনো ক্যারেকটার এর আসকি ভেলু বের করতে চাইলে আমাদের খুব বেশি কষ্ট করতে হবে না । প্রথমে ক্যারেকটার টাকে ইন্টিজার  এ টাইপকাস্ট করতে হবে । তারপরে আমরা যদি তার ভেলু টা দেখতে চাই তাহলে প্রিন্ট করে দিলেই হবে ।  সি++ প্রোগ্রামে এমন ভাবে করতে হবে কাজ টা  #include   <iostream> using   namespace   std ;   int   main ()  {         char  name  =   'A' ;     cout << ( int )name;           return   0 ; }

ইনক্রিমেন্ট, ডিক্রি মেন্ট অপারেটর এর নাড়ি নক্ষত্র খুজি আজকে চলো !!!

হ্যালো প্রোগ্রামার'স। আশা করি সবাই ভালো আছো এবং প্রোগ্রামিং চালিয়ে যাচ্ছো । তোমরা ইতিমধ্যেই সি প্রোগ্রামের বেসিক বেশ কিছু জিনিস শিখে গেছো।আমরা আজকে নতুন একটা অপারেটর শিখবো। (++,--) ইনক্রিমেন্ট, ডিক্রি মেন্ট অপারেটর। নতুন সি প্রোগ্রামারদের জন্য একটা ঝড়ের নাম। চলো একটা মজার গল্পের মাধ্যমে আমরা ইনক্রিমেন্ট, ডিক্রি মেন্ট অপারেটর শিখি।আসো প্রথমেই জানি ইনক্রিমেন্ট, ডিক্রিমেন্ট অপারেটর দেখতে কেমন হয়। মনে প্রশ্ন উদয় হয়েছে এদের কাজ কি! (++) ইনক্রিমেন্ট অপারেটর অপারেন্ডের ভ্যালু ১ বাড়িয়ে দিবে এবং (--) ডিক্রিমেন্ট অপারেটর অপরেন্ডের ভ্যালু ১ কমিয়ে দিবে। এই হলো কাজ। নতুন প্রশ্ন মাথায় আসলো এই অপারেন্ডটা আবার কি জিনিস। অপারেটর যাকে অপারেট করবে সে হলো অপারেন্ড। কঠিন লাগছে? আচ্ছা একটা কিচ্ছা(গল্প) বলি মন দিয়ে শুনো। ধরো তুমার কাছে ৫০০ টাকা আছে আমি তোমাকে আরো ১০০ টাকা দিলাম। ত...

একটা ইন্টিজার এর ডিজিট গুলা কীভাবে আলাদা করবো ? How to separate the digits from an integer number ?

আজকে আমাদের আলোচনার বিষয় বস্তু হলো একটা ইন্টিজার নাম্বার এর প্রতিটি ডিজিট কিভাবে আলাদা করা যায় । জিনিশ টা একদম ই খামখেয়ালি টাইপ মনে হলেও এর অনেক দরকার আছে । প্রব্লেম সল্ভিং এর জন্য এমন কিছু ট্রিক্স দরকার পড়ে যেখানে তোমাকে বলতে পারে ১২৩৪ এই ইন্টিজার নাম্বার টার মাঝে '৫' ডিজিট টা আছে কিনা বলতে । এটা তখন ই বলা সম্ভব হবে যখন তুমি ইন্টিজার এর প্রত্যেক টা ডিজিট চেক করতে পারবে । আর কথা না বাড়িয়ে কাজে চলে যাই চলো !!! তো আমরা যদি একটা ইন্টিজার নাম্বার নেই আর সেখানে একটা ডিজিট খুঁজতে যাই তার জন্য প্রথমেই আমাদের ডিজিট গুলা আলাদা করে ফেলতে হবে । ডিভিশন আর মডিউলো ডিভিশন এর কথা মনে আছে ?? ডিভিশন হলো '/' এটা আর মডিউলো ডিভিশন হলো '%' এইটা । ডিভিশন যদি একটা ইন্টিজার নাম্বার কে করা হয় তাহলে শুধু ভাগফল পাওয়া যাবে আর মডিউলো ডিভিশন করলে শুধু ভাগশেষ পাওয়া যাবে । যেমনঃ ৫/২ = ২ পাবো অন্যদিকে ৫%২ = ১ পাবো ২টা ইন্টিজার নাম্বার এর মাঝে ডিভিশন আর মডিউলো ডিভিশন এর রেজাল্ট এট...

স্ট্রিং কে কিভাবে চার টাইপ এরে তে কনভার্ট/কপি করবো ?? How to convert/copy String into a char type array ???

আজকে শিখবো কিভাবে একটা স্ট্রিং কে চার টাইপ এরে তে কনভার্ট করা যায় । তাঁর আগে জানতে মন চায় কেন এটা করা প্রয়োজন ?? সুবিধা টা কি ? যখন একটা নির্দিষ্ট স্ট্রিং এর ভেতরে আমরা একটা ক্যারেকটার কে খুঁজতে যাই কিংবা ঐ স্ট্রিং টা কে ভেঙ্গে বিভিন্ন জায়গায় তাঁর অংশ গুলো নিয়ে নেয়া প্রয়োজন হয় , বিভিন্ন অপারেশন চালানোর দরকার পড়ে, অথবা তাঁর একেক টা ক্যারেক্টার এর সাথে ইউজার থেকে প্রাপ্ত কোনো কিছুর তুলনা করার প্রয়োজন হয় , তখন আমার মনে হয় স্ট্রিং টা কে ভেঙ্গে নিয়ে চার টাইপ এরে তে রেখে দিলে সুবিধা হয় । কারণ তখন ইনডেক্স নাম্বার ধরে টান দেয়া যায় যে কোনো মেম্বার কে । এখন বলি কীভাবে করবো ? এজন্য প্রথমেই আমাদের কে হেডার ফাইল    <cstring>  যুক্ত করে নিতে হবে । প্রথমে আমরা ইউজার থেকে স্ট্রিং টা নিবো । তারপরে আমাদের সেটার সাইজ জানার দরকার পড়বে কারণ আমরা যে চার টাইপ এরে তে স্ট্রিং টা কনভার্ট করতে যাচ্ছি বা রাখতে চাচ্ছি এলিমেন্ট গুলো সেটার তো একটা সাইজ বলে দেয়া লাগবে । আর এই সাইজ জানার জন্য আমরা ব্যবহার করবো     size()    ফাংশন ।  আর এই সাইজ এর ভেলু...

লেক্সিকোগ্রাফিকাল স্ট্রিং প্রব্লেম সল্ভিং । Details about Lexicographical string in Problem solving. lexicographical_compare

A lexicographical comparison is the kind of comparison generally used to sort words alphabetically in dictionaries; It involves comparing sequentially the elements that have the same position in both ranges against each other until one element is not equivalent to the other. লেক্সিকোগ্রাফিকাল স্ট্রিং নিয়ে একটা প্রব্লেম সল্ভ করতে গিয়ে আমি এটার মুখোমুখি হই । আগে কখনো জানতাম ই না এমন কিছু আছে ! যাইহোক নতুন কিছু শিখতে পারলাম । যা শিখেছি , তা ই নিজের মতো করে ছোট্ট করে নোট করে রাখার চেষ্টা করছি এখানে । প্রথমেই বলে নেই , একটা স্ট্রিং এর মাঝে লেক্সিকোগ্রাফিকাল অর্ডার বলতে আসলে কী বুঝি ? এটা দ্বারা আসলে এলফাবেটিক অর্ডার বুঝায় । একটা উদাহরণ দিলে পরিষ্কার হবে ধারণা । যেমন একটা স্ট্রিং "abs" এবং আরেকটা স্ট্রিং "abz" এখানে সাধারণ ভাবে যদি তোমাকে জিজ্ঞেস করা হয় " ২টা স্ট্রিং এর লেংথ কত ?" উত্তর টা অবশ্যই হবে যে " সমান " কারণ ২টাতেই আছে ৩টা করে ক্য...

স্ট্রিং কে লোয়ার কেস এবং আপার কেস এ কীভাবে কনভার্ট করবো ?

. একটা স্ট্রিং কে লোয়ার কেস থেকে আপার কেস এ নেয়া এবং ইচ্ছে মতো ওই স্ট্রিং এর যেকোনো নাম্বার ক্যারেক্টার থেকে কনভার্ট করার জন্য নিচের উপায় ফলো করতে পারি আমরা । প্রথমে দেখবো একটা পুরো স্ট্রিং কে লোয়ার কেস থেকে আপার কেস এ কীভাবে নিবো ... প্রথমে বলে নেই, আমাদের ২টা লাইব্রেরী যোগ করতে হবে শুরুতেই । #include <algorithm> #include <string> এখন আমাদের প্রথম প্রোগ্রাম ঃ #include <algorithm> #include <iostream> #include <string> using namespace std; int main(){     string str;     getline(cin,str);     transform(str.begin(), str.end(), str.begin(), ::toupper);     cout<<str;     return 0; } এবার দ্বিতীয় প্রোগ্রাম যেখানে আপার কেস থেকে লোয়ার কেস এ নিবো ঃ #include <algorithm> #include <iostream> #include <string> using namespace std; int main(){     string str;     getline(cin,str);     transform(str.begin(), str.en...

একটা স্ট্রিং কে লোয়ার কেস থেকে কীভাবে আপার কেস লেটার এ কনভার্ট করবো ? how to convert string from lowercase to uppercase

#include #include #include using namespace std; int main() { string str; getline(cin,str); transform(str.begin(), str.end(), str.begin(), ::toupper); cout< ------------------------------------- Written By - Nazmul Haque Nahin

ডেসিমেল নাম্বার এ দশমিক এর পরে ২ ঘর পর্যন্ত নাম্বার প্রিন্ট করবো কীভাবে ? Printing 2 digits after decimal point in c++

সময় বিকেল ৫টা ,৩৫  আজ ৩১/০৭/২০১৯  একটু আগে একটা প্রব্লেম সল্ভ করলাম ,অবাক করা ব্যাপার হলো প্রথম সাবমিশন এই এক্সেপ্টেড !  তবে যে কারণে এখানে লিখতে বসলাম সেটা হলো ,আজকে নতুন একটা জিনিস শিখলাম ।  শুনতে হাস্যকর লাগতে পারে কিন্তু বাস্তবতা এটাই ।  এই প্রব্লেম টা সল্ভ করতে গিয়ে আমি এটা শিখলাম ।  আগে এটা সল্ভ করতাম সি এর জিনিস ইউজ করে । এবারো করা যেতো । কিন্তু এবার ভাবলাম  কোড করছি সি প্লাস প্লাস এ তাই উচিত হলো সব কিছু সি প্লাস প্লাস এর ই ইউজ করা ।  আমরা আউট পুটে দশমিক সংখ্যা দেখানোর পরে ,দশমিকের পরে  কত ঘর পর্যন্ত দেখাবে সেটা অনেক প্রব্লেম এই বলে দেয়া থাকে ।  সি তে আমরা দশমিক এর পরে ২ ঘর পর্যন্ত দেখানোর জন্য আমরা ইউজ করেছি ... আর সি প্লাস প্লাসে এটা করার জন্য হেডার ফাইল ইনক্লুড করতে হবে ... #include<iomanip> আর লিখতে হবে ... আচ্ছা একটা স্যাম্পল প্রোগ্রাম দেখাই  output: এখানে ২ দেয়া হয়েছে তাই ২ঘর পর্যন্ত দেখা গেছে , মন চাইলে ৩,৪,৫,৬ যা ইচ্ছা দেয়া যাবে । -----------...

একটা স্ট্রিং এর ভেতরের যে কোন ক্যারেকটার কে কীভাবে এক্সেস করবো ? at() function in c++ || how to access the characters of a string ???

স্ট্রিং এর ক্যারেক্টার এক্সেস করার জন্য চমৎকার একটা ফাংশন আছে , যেটা আমি এতো দিন জানতাম ই না ...! আজকে জানলাম একটু আগে । সেই ফাংশন টা হলো "at()" মনে করা যাক , আমার একটা স্ট্রিং আছে "habit" , এখন এটার ২ নাম্বার ক্যারেক্টার কে এক্সেস করতে চাই তাহলে কি করবো??? খুব ই সহজ ... #include using namespace std; int main() { string str="habit"; char c=str.at(2); cout ২ নাম্বার ক্যারেক্টার কে এক্সেস করা মানে আউটপুট আসবে আমার 'b' ,কারণ ইন্ডেক্স নাম্বার তো ০ থেকে শুরু হয় ।। দারুণ না ব্যাপার টা ! ------------------------------------- Written By - Nazmul Haque Nahin