Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी++ में पॉलीबियस स्क्वायर सिफर

इस समस्या में, हमें एक स्ट्रिंग दी गई है और हमें पॉलीबियस स्क्वायर सिफर का उपयोग करके इसका पूर्णांक एन्क्रिप्शन खोजना होगा। ।

पॉलीबियस स्क्वायर सिफर

यह एक तालिका है जिसका उपयोग अक्षरों को संख्याओं में बदलने के लिए किया जाता है। अंग्रेजी एन्क्रिप्शन के लिए तालिका एक 5X5 तालिका है यानी इसमें एक अंग्रेजी शब्दकोश के 26 अक्षरों के लिए 25 सेल हैं। अक्षर i और j एक ही सेल में एक साथ रखे जाते हैं।

निम्न तालिका एक पॉलीबियस वर्ग सिफर दिखाती है -


1 2 3 4 5
1 A B C D E
2 F G H I, J K
3 L M N O P
4 Q R S T U
5 V W X Y Z

तालिकाओं के अक्षर को यादृच्छिक बनाया जा सकता है। साथ ही, भाषा के अक्षरों की संख्या के आधार पर तालिका का आकार बदला जा सकता है।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट -नमस्कार

आउटपुट - 23153131334

इस समस्या को हल करने के लिए, हम प्रत्येक जोड़ी संख्याओं को लेने के लिए एक प्रोग्राम बनाएंगे और फिर संबंधित अक्षर की जांच करेंगे।

उदाहरण

हमारे समाधान का उदाहरण दिखाने के लिए कार्यक्रम -

#include <cmath>
#include <iostream>
using namespace std;
void LetterToNumber(string str) {
   int R, C;
   for (int i = 0; str[i]; i++) {
      R = ceil((str[i] - 'a') / 5) + 1;
      C = ((str[i] - 'a') % 5) + 1;
      if (str[i] == 'k') {
         R = R - 1;
         C = 5 - C + 1;
      }
      else if (str[i] >= 'j') {
         if (C == 1) {
            C = 6;
            R = R - 1;
         }
         C = C - 1;
      }
      cout<<R<<C;
   }
   cout << endl;
}
int main() {
   string str = "tutorialspoint";
   cout<<"The numeric encryption of string '"<<str<<"' is : ";
   LetterToNumber(str);
   return 0;
}

आउटपुट

The numeric encryption of string 'tutorialspoint' is: 4445443442241131433534243344

  1. C++ में एक वर्ग के एक परिचालित वृत्त का क्षेत्रफल

    इस समस्या में, जब हमें वर्ग की भुजा दी जाती है, तो हम एक वर्ग के परिबद्ध वृत्त के क्षेत्रफल की गणना करेंगे। इससे पहले कि हम आगे बढ़ें, आइए अवधारणाओं को बेहतर ढंग से समझने के लिए बुनियादी परिभाषाओं को संशोधित करें। वर्ग एक चतुर्भुज है जिसकी सभी भुजाएँ समान हैं। परिक्रमा चक्र एक वृत्त बहुभुज के सभी

  1. सी++ में वर्ग के क्षेत्रफल के लिए कार्यक्रम

    हमें एक आयत की एक भुजा दी गई है और हमारा काम उस तरफ से वर्ग के क्षेत्रफल को प्रिंट करना है। वर्ग 2-डी सादा आकृति है जिसमें 4 भुजाएँ होती हैं और प्रत्येक 90 डिग्री के 4 कोण बनाती हैं और सभी भुजाएँ समान आकार की होती हैं। दूसरे शब्दों में हम कह सकते हैं कि वर्ग समान भुजाओं वाले आयत का एक रूप है। एक व

  1. C++ में NaN क्या है?

    NaN, Not a Number का संक्षिप्त रूप है। यह अपरिभाषित या गैर-प्रतिनिधित्व योग्य फ़्लोटिंग पॉइंट तत्वों को इंगित करता है। NaN का एक उदाहरण किसी ऋणात्मक संख्या का वर्गमूल या 0/0 का परिणाम है। उदाहरण #शामिल करें आउटपुट -5 का वर्गमूल:nan