আমাদেরকে এমন একটি বাক্য বা স্ট্রিং দেওয়া হয়েছে যেখানে শব্দ রয়েছে যার মধ্যে স্পেস, নতুন লাইন অক্ষর এবং ট্যাব অক্ষর থাকতে পারে। কাজটি হল একটি স্ট্রিং-এ মোট শব্দের সংখ্যা গণনা করা এবং ফলাফল প্রিন্ট করা।
ইনপুট − string str =“\n টিউটোরিয়াল পয়েন্ট\t”
-এ স্বাগতমআউটপুট − একটি স্ট্রিং-এ শব্দের সংখ্যা হল −4
ব্যাখ্যা − একটি স্ট্রিং-এ চারটি শব্দ রয়েছে যেমন স্বাগত, টু, টিউটোরিয়াল, পয়েন্ট এবং বাকিগুলি স্পেস (“ ”), পরবর্তী লাইনের অক্ষর(\n) এবং ট্যাব অক্ষর(\t) শব্দগুলির মধ্যে উপস্থিত৷
ইনপুট − string str =“\nhonesty\t হল সেরা নীতি”
আউটপুট − একটি স্ট্রিং-এ শব্দের সংখ্যা হল −5
ব্যাখ্যা − একটি স্ট্রিং-এ চারটি শব্দ আছে যেমন সততা, হল, সেরা, নীতি এবং বাকিগুলি হল স্পেস (“ ”), পরবর্তী লাইনের অক্ষর(\n) এবং ট্যাব অক্ষর(\t) শব্দগুলির মধ্যে উপস্থিত।
নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ
এর জন্য একাধিক সমাধান হতে পারে। তাহলে আসুন প্রথমে নিচের কোড −
এ আমরা যে সহজ পদ্ধতি ব্যবহার করেছি তা দেখি-
স্ট্রিং সংরক্ষণের জন্য চার প্রকারের একটি অ্যারে তৈরি করুন, ধরা যাক, str[>
-
দুটি অস্থায়ী পরিবর্তনশীল ঘোষণা করুন একটি স্ট্রিং এবং ফ্ল্যাগ অপারেশন সঞ্চালনের জন্য টেম্পের সংখ্যা গণনা করার জন্য গণনা করা হয়
-
স্টার্ট লুপ যখন str নাল না হয়
-
লুপের ভিতরে, IF *str =স্পেস বা *str =পরবর্তী লাইন বা *str =ট্যাব চেক করুন তারপর টেম্প সেট করুন 0
-
অন্যথায় temp =0 হলে temp 1 এ সেট করুন এবং গণনার মান 1 দ্বারা বৃদ্ধি করুন
-
1
দ্বারা str পয়েন্টার বৃদ্ধি করুন -
গণনায় মান ফেরত দিন
-
ফলাফল প্রিন্ট করুন
উদাহরণ
#include using namespace std; //count words in a given string int total_words(char *str){ int count = 0; int temp = 0; while (*str){ if (*str == ' ' || *str == '\n' || *str == '\t'){ temp = 0; } else if(temp == 0){ temp = 1; count++; } ++str; } return count; } int main(){ char str[] = "welcome to\n tutorials point\t"; cout<<"Count of words in a string are: "<<total_words(str); return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেCount of words in a string are: 4