এই সমস্যায়, আমাদের একটি স্ট্রিং স্ট্র এবং Q প্রশ্ন দেওয়া হয়েছে যা দুটি মান a এবং b নিয়ে গঠিত। আমাদের কাজ হল C++ এ বারবার স্ট্রিং-এ অক্ষরের জন্য প্রশ্নগুলি সমাধান করার জন্য একটি প্রোগ্রাম তৈরি করা।
সমস্যা বর্ণনা
প্রতিটি প্রশ্নের সমাধান করার জন্য, আমাদের সূচী a এবং b এর অক্ষরগুলি একই কিনা তা পরীক্ষা করতে হবে এবং সেই অনুযায়ী মান ফেরত দিতে হবে।
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
ইনপুট :str ="টিউটোরিয়াল পয়েন্ট"
প্রশ্ন =2
প্রশ্ন ={{0, 2}, {4, 7}}
আউটপুট :পুনরাবৃত্ত
পুনরাবৃত্তি হয় না
ব্যাখ্যা
কোয়েরি 1 এর জন্য , সূচক 0-এর অক্ষরটি হল t, এবং সূচক 2-এর অক্ষরটি হল t৷ উভয়ই একই অক্ষর৷
কোয়েরি 1 এর জন্য, সূচক 4-এর অক্ষর হল r, এবং সূচক 7-এর অক্ষর হল l৷ উভয়ই একই অক্ষর নয়।
সমাধান পদ্ধতি
সমস্যা সমাধানের জন্য, আমরা সহজভাবে সূচক a এবং b-এর উপাদানগুলির সমতা পরীক্ষা করব। যদি কোনো সূচক স্ট্রিংয়ের দৈর্ঘ্যের চেয়ে বেশি হয়, তাহলে অক্ষরের সূচক পেতে be (index%len) এর মান খুঁজে পাবে। এবং ব্যবহারকারী তুলনা করার জন্য নতুন সূচক।
উদাহরণ
#include <iostream> #include <string> using namespace std; bool isrepeated(string str, int len, int a, int b){ if(a > len) a %= len; if(b > len) b %= len; if(str[a] == str[b]) return true; else return false; } int main(){ string str = "tutorialspoint"; int len = str.length(); int Q = 3; int query[Q][2] = {{0, 2}, {3, 32}, {5, 18}}; for(int i = 0; i < Q; i++){ if(isrepeated(str, len, query[i][0], query[i][1])) cout<<"Character is repeated in both the index values"<<endl; else cout<<"Character is not repeated in both the index values"<<endl; } return 0; }
আউটপুট
Character is repeated in both the index values Character is not repeated in both the index values Character is not repeated in both the index values