ছিনিয়ে: হাই, আমি রব, এবং এর পাঠোদ্ধার দেওয়া Vigenere প্রোগ্রাম. আমরা যা করতে হবে তাই প্রথম জিনিস করতে হয় নিশ্চিত ব্যবহারকারীর আমরা আশা কি প্রবেশ তাদের কমান্ড লাইনে করতে. Argc 2 না যদি তাই হয় মানে ব্যবহারকারী স্ট্রিং আমরা প্রবেশ করেননি আমাদের Encrypting হিসেবে ব্যবহার করতে চান স্ট্রিং, অথবা তারা অনেকগুলি জিনিস প্রবেশ করে. এবং আমরা কি করতে হবে তা জানি না যারা অন্যান্য বিষয়ের সঙ্গে. সুতরাং আমরা তাদের বলুন কি তারা প্রবেশ করানো উচিত. এবং আমরা ফিরে. এখন, আমরা করতে পারেন, argc 2 যে অভিমানী প্রোগ্রাম বাকি অগ্রসর. আমরা [1] argv নাম Alias পরিবর্তনশীল অভিব্যক্তি মধ্যে. আমরা করতে হবে না যে তাই [1] নামের argv ব্যবহার প্রোগ্রাম বাকি সর্বত্র. তখন হয়তো আমরা ভুলে যাব কি যাতে প্রথম অর্থ ও. কী খুঁজতে হবে একটি অনেক nicer নাম. এবং আমরা অবিলম্বে দ্বারা দখল করব অধিকার এখানে আমাদের অভিব্যক্তি. ঠিক আছে, তাই এখন আমরা যে পরীক্ষা করতে আমাদের অভিব্যক্তি আসলে বৈধ. আমরা স্ট্রিং এনক্রিপ্ট ব্যবহার কিওয়ার্ড শুধু বর্ণানুক্রমিক হওয়া উচিত অক্ষর. ব্যবহারকারী অ বর্ণানুক্রমিক প্রবেশ করানো হলে অক্ষর, আমরা বলতে হবে, অভিব্যক্তি কেবল একটি মাধ্যমে ধারণ করতে হবে তারপর Z এবং ফিরে. তাই এই লুপ iterates জন্য সব আমাদের অভিব্যক্তি অক্ষর, পরীক্ষণ এক যে বর্ণানুক্রমিক তারপর না হয় আমরা যে সতর্কবাণী মুদ্রণ প্রয়োজন. আমরা এই বিন্দু পেতে একবার এখন,, আমরা জানি স্ট্রিং সঠিক হতে হবে. অভিব্যক্তি সঠিক হতে হবে. এবং এখন আমরা থেকে বার্তা পেতে হবে তারা আমাদের চান ইউজার যে কি ফ্রেজ সাথে এনক্রিপ্ট. সুতরাং যে বার্তা পেতে, আমরা একটি আছে কাজ করার সময় যাচ্ছে যে লুপ একটানা ব্যবহারকারী থেকে একটি পংক্তি পেতে তারা একটি বৈধ পংক্তি লিখুন না হওয়া পর্যন্ত. অব্যাহত, আমরা এখানে এই পরিবর্তনশীল দেখুন, int-nun_letters_seen. আমরা প্রয়োজন কেন আমরা দেখতে পাবেন এক সেকেন্ডের মধ্যে যে. কিন্তু লুপ জন্য এই পুনরুক্তি করতে যাচ্ছে আমি পর্যন্ত 0 সব পথ সমান থেকে আমরা iterating করছি, যার মানে এন সমান সব সম্ভব উপর আমাদের মেসেজ অক্ষর. আমরা সব এনক্রিপ্ট করতে চান কারণ আমাদের মেসেজ অক্ষর. সুতরাং, আমরা (isalphamessage [আমি] যদি না মনোযোগ আমরা এনক্রিপ্ট করতে চাই না কারণ বর্ণানুক্রমিক নয় এমন অক্ষর. চিহ্ন আছে, স্পেস, অথবা সংখ্যা, আমরা না যারা এনক্রিপ্ট করতে চান. এখন,, এটা বর্ণানুক্রমিক যে অভিমানী আমরা প্রথম চিন্তা করা চাই আমরা আসলে এনক্রিপ্ট করতে চান ব্যবহার করে বার্তা. তাই আমি যে দ্বারা কি বোঝাতে চেয়েছেন? এর অনুমান করা যাক যে কি ফ্রেজ প্রবেশ ব্যবহারকারীর এবিসি ছিল. আমরা এনক্রিপ্ট করতে ব্যবহার করছেন কি. এখন, naively, আমরা মানে যে মনে করে যে আমরা প্রথম অক্ষর এনক্রিপ্ট করতে চান 0 দ্বারা আমাদের বার্তা, যেহেতু একটি উপায় 0 দ্বারা চরিত্র আবর্তিত. আমরা দ্বিতীয় অক্ষর এনক্রিপ্ট করতে চান 1 দ্বারা, 2 দ্বারা তৃতীয় চরিত্র, 0 দ্বারা চতুর্থ চরিত্র, পঞ্চম 1 দ্বারা, তাই 2 দ্বারা ষষ্ঠ, এবং. কিন্তু আমরা লাফালাফি করতে চান যে, মনে রাখবেন স্পেস এবং চিহ্ন ও সংখ্যা. এর মানে হল যে ব্যবহারকারী প্রবেশ ছিল বার্তা হিসাবে হ্যালো দুনিয়া তারা, তারপর এনক্রিপ্ট করতে চান আমরা 0 দ্বারা জ এনক্রিপ্ট করতে চান , 1 দ্বারা একটি, ই সংশ্লিষ্ট ঠ 2 দ্বারা, 0 দ্বারা এল, 1 দ্বারা ণ. আমরা এনক্রিপ্ট করা, স্থান এড়িয়ে চাই 2 দ্বারা W, 0, 1, 2, 0 দ্বারা ণ. আমরা এড়ানো ছিল না সুতরাং, যদি লক্ষ্য স্থান, তাহলে আমরা এনক্রিপ্ট করা হবে 0 দ্বারা W এবং সঙ্গে শেষ পর্যন্ত ভুল পংক্তি. ঠিক আছে, এই যে আমরা ভেরিয়েবল যা প্রয়োজন হয় জন্য num_letters_seen. আমরা শুধু ব্যবহার করে এনক্রিপ্ট চালু ছিল যদি লাফালাফি না এই পদ্ধতি, চিহ্ন, শূণ্যস্থান ও সংখ্যা, তারপর আমরা শুধু আমি কি হিসাবে ভেরিয়েবল ব্যবহার করতে পারেন সঙ্গে আমাদের কী ফ্রেজ মধ্যে সূচক. আমরা রাখা num_letters_seen ব্যবহার করতে হবে প্রকৃত স্থান সম্পর্কে অবগত আমরা ইনডেক্স করতে চান কি ফ্রেজ. তাই এখানে, অভিব্যক্তি আমরা আছে, যদি num_letter_seen গেলিক ভাষার keyword_length, তাই কেন আমরা mod প্রয়োজন অভিব্যক্তি দৈর্ঘ্য দ্বারা? ওয়েল, ওহে দুনিয়া একটি ভাল উদাহরণ. অভিব্যক্তি এবিসি ছিল, তাহলে আমরা প্রয়োজন একটানা খ একটি তারপর দ্বারা এনক্রিপ্ট তারপর গ তারপর, চারপাশে ফিরে মোড়ানো এ, বি, সি, এ, বি, সি. সুতরাং আমরা অভিব্যক্তি দৈর্ঘ্য দ্বারা mod করতে হবে চারপাশে ফিরে মোড়ানো করার. সুতরাং, এটি একটি য়ের বড়হাতের অক্ষর ছোটহাতের অক্ষর যদি তারপর আমরা দ্বারা এনক্রিপ্ট করতে চান বর্ণমালার মধ্যে যে চিঠির অবস্থান, আমরা শুধু দ্বারা পেতে যা রাজধানী এ আউট subtracting এবং একইভাবে, ছোট হাতের অক্ষর, আমরা আমরা দ্বারা ব্যাপারে কি কি পেতে পারেন ছোট হাতের একটি আউট subtracting. সুতরাং নির্বিশেষে কিনা অক্ষর কি ফ্রেজ একটি রাজধানী ছিল বা ছোট হাতের অক্ষর, আমরা চলুন একই পরিমাণ দ্বারা এনক্রিপ্ট. এখন আমরা আমাদের কী আছে যে, আমরা এখানে দেখতে, যে বার্তা যদি আমি একটি য়ের বড়হাতের অক্ষর ছোটহাতের হয় চরিত্র, তারপর আমরা গণনা করতে চান যে বর্ণমালার মধ্যে অবস্থান চরিত্র, এটা আমাদের কী যোগ, ফিরে মোড়ানো কাছাকাছি যাতে আমরা অতীতে গিয়েছিলাম যদি z-আমরা তাই আবার এ, বি, সি এ যান, এবং. এর পরে, অবশেষে, রাজধানী এ ফিরে যোগ তাই আমরা [ফিরে নামান? ASCII?] এই অক্ষরের সীমার পরিবর্তে বর্ণমালার মধ্যে সাংখ্যিক অবস্থান এই অক্ষরের. এবং আমরা একই জিনিস করে ছোট হাতের অক্ষর. আমরা ছোট হাতের আউট বিয়োগ করতে চান ছাড়া A এবং ফিরে নেভিগেশন এটি যোগ শেষে, একটি ছোট হাতের অক্ষর. যে num_letter_seen শুধুমাত্র লক্ষ্য করুন মান বৃদ্ধি যদি আমি ছিল বার্তাটি বর্ণানুক্রমিক. এই আমরা স্পেস, চিহ্ন এড়িয়ে কিভাবে, এবং আমাদের কি ফ্রেজ, যেহেতু সংখ্যা num_letter_seen আমরা ব্যবহার করছেন কি আমাদের অভিব্যক্তি মধ্যে সূচক. অবশেষে, শেষ পর্যন্ত, এখন যে বার্তা আমি এনক্রিপ্ট হয়েছে আমরা আমি বার্তা প্রিন্ট আউট. এবং যে এটি. আমার নাম রব হল. এবং এই Vigenere হয়. [সঙ্গীত বাজাচ্ছি]