C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

ベクトルを実装するC++プログラム


ベクトルは、要素が挿入または削除された場合にそれ自体のサイズを変更できる動的配列です。ベクトル要素は連続したストレージに含まれ、コンテナはストレージを自動的に処理します。

ベクトルを実装するプログラムは次のように与えられます-

#include <iostream>
#include <vector>
#include <string>
#include <cstdlib>

using namespace std;
int main() {
   int ch, val;
   vector<int> vec;
   cout<<"1)Insert Element into the Vector"<<endl;
   cout<<"2)Delete Last Element of the Vector"<<endl;
   cout<<"3)Print size of the Vector"<<endl;
   cout<<"4)Display Vector elements"<<endl;
   cout<<"5)Clear the Vector"<<endl;
   cout<<"6)Exit"<<endl;

   do {
      cout<<"Enter your Choice: "<<endl;
      cin>>ch;
      switch(ch) {
         case 1:
         cout<<"Enter value to be inserted: "<<endl;
         cin>>val;
         vec.push_back(val);
         break;
         case 2:
         cout<<"Last Element is deleted."<<endl;
         vec.pop_back();
         break;
         case 3:
         cout<<"Size of Vector: ";
         cout<<vec.size()<<endl;
         break;
         case 4:
         cout<<"Displaying Vector Elements: ";
         for (int i = 0; i < vec.size(); i++)
         cout<<vec[i]<<" ";
         cout<<endl;
         break;
         case 5:
         vec.clear();
         cout<<"Vector Cleared"<<endl;
         break;
         case 6:
         cout<<"Exit"<<endl;
         break;
         default:
         cout<<"Error....Wrong Choice Entered"<<endl;
      }
   } while (ch!=6);
   return 0;
}

出力

上記のプログラムの出力は次のとおりです

1)Insert Element into the Vector
2)Delete Last Element of the Vector
3)Print size of the Vector
4)Display Vector elements
5)Clear the Vector
6)Exit

Enter your Choice: 1
Enter value to be inserted: 5
Enter your Choice: 1
Enter value to be inserted: 2
Enter your Choice: 1
Enter value to be inserted: 8
Enter your Choice: 1
Enter value to be inserted: 6
Enter your Choice: 3
Size of Vector: 4
Enter your Choice: 4
Displaying Vector Elements: 5 2 8 6
Enter your Choice: 2
Last Element is deleted.
Enter your Choice: 3
Size of Vector: 3
Enter your Choice: 4
Displaying Vector Elements: 5 2 8
Enter your Choice: 5
Vector Cleared
Enter your Choice: 3
Size of Vector: 0
Enter your Choice: 4
Displaying Vector Elements:
Enter your Choice: 9
Error....Wrong Choice Entered
Enter your Choice: 6
Exit

上記のプログラムでは、最初にベクトルが定義され、次にベクトル操作を選択するためのメニューがユーザーに提供されます。これを以下に示します-

vector<int> vec;
cout<<"1)Insert Element into the Vector"<<endl;
cout<<"2)Delete Last Element of the Vector"<<endl;
cout<<"3)Print size of the Vector"<<endl;
cout<<"4)Display Vector elements"<<endl;
cout<<"5)Clear the Vector"<<endl;
cout<<"6)Exit"<<endl;

do whileループを使用してユーザーの選択を入力し、switchステートメントを使用して選択に応じた操作を実装します。さまざまな操作は、ベクトルへの要素の挿入、ベクトルからの要素の削除、ベクトルのサイズの印刷、ベクトルの要素の表示、ベクトルのクリア、および終了です。このためのコードスニペットを以下に示します-

do {
   cout<<"Enter your Choice: "<<endl;
   cin>>ch;
   switch(ch) {
      case 1:
      cout<<"Enter value to be inserted: "<<endl;
      cin>>val;
      vec.push_back(val);
      break;
      case 2:
      cout<<"Last Element is deleted."<<endl;
      vec.pop_back();
      break;
      case 3:
      cout<<"Size of Vector: ";
      cout<<vec.size()<<endl;
      break;
      case 4:
      cout<<"Displaying Vector Elements: ";
      for (int i = 0; i < vec.size(); i++)
      cout<<vec[i]<<" ";
      cout<<endl;
      break;
      case 5:
      vec.clear();
      cout<<"Vector Cleared"<<endl;
      break;
      case 6:
      cout<<"Exit"<<endl;
      break;
      default:
      cout<<"Error....Wrong Choice Entered"<<endl;
   }
} while (ch!=6);

  1. シーザー暗号を実装するC++プログラム

    これは、平文の各文字が別の文字に置き換えられて暗号文を形成するモノアルファベット暗号です。これは、換字式暗号方式の最も単純な形式です。 この暗号システムは、一般にシフト暗号と呼ばれます。コンセプトは、各アルファベットを、0から25の間の固定数で「シフト」された別のアルファベットに置き換えることです。 このタイプのスキームでは、送信者と受信者の両方がアルファベットをシフトするための「秘密のシフト番号」に同意します。この0から25までの数字が暗号化の鍵になります。 「シーザー暗号」という名前は、「3シフト」が使用されている場合のシフト暗号を表すために使用されることがあります。 プロセス

  2. AVLツリーを実装するためのC++プログラム

    AVLツリーは自己平衡二分探索木であり、左右のサブツリーの高さの差がすべてのノードで複数になることはありません。 ツリーの回転は、AVLツリーの要素の順序を妨げることなく構造を変更する操作です。ツリー内で1つのノードを上に移動し、1つのノードを下に移動します。これは、ツリーの形状を変更したり、小さいサブツリーを下に移動したり、大きいサブツリーを上に移動したりして高さを低くしたりするために使用され、多くのツリー操作のパフォーマンスが向上します。回転の方向は、木のノードが移動する側に依存しますが、他の人は、どの子がルートの場所をとるかに依存すると言います。これは、AVLツリーを実装するためのC+