comfortable)以下のように、置換暗号を実装するプログラムを実装します。そのために、キーを使います。この場合、アルファベットの各文字と、暗号化するときに対応する文字との対応付けです。するには、メッセージの受信者が鍵を知っている必要があります。翻訳し直すという、逆のプロセスが可能になります。キーは文字列NQXPOMAFTRHLZGECYJIUWSKDVBです。変換する必要があることを意味します。HELLOのようなメッセージはFOLLEとして暗号化され、キーによって決定されたマッピングに従って各文字を置き換えます。置換暗号を使用してメッセージを暗号化できるsubstitutionと呼ばれるプログラムを作成しましょう。ユーザはプログラムを実行するときに、コマンドライン引数を指定して、実行時に提供する秘密メッセージ内のキーを決定する必要があります。プログラムの動作例をいくつか示します。ユーザがYTNSHKVEFXRBAUQZCLWDMIPGJOというキーとHELLOというプレーンテキストを入力したとします。worldのプレーンテキストを入力すると、プログラムは次のように動作します。ybwspカンマもスペースも暗号で置換されていないことに注意してください。アルファベット文字のみを置換します。元のメッセージの大文字と小文字が保持されていることにも注意してください。小文字は小文字のまま、大文字は大文字のままです。キー自体の文字が大文字か小文字かは関係ありません。ユーザが有効なキーを指定しなかった場合はどうなりますか。characters.ユーザが全く指示に従っていない場合はどうでしょう。key試してみましょうスタッフによるこの問題の実装をテストするには、次のコマンドを実行します。keyこのサンドボックス内で、keyの代わりに有効な整数を代入します。置換暗号を使用してメッセージを暗号化するプログラムsubstitutionを設計および実装します。プログラムをsubstitution.cという名前のファイルでsubstitutionという名前のディレクトリに実装します。プログラムは、置換に使用するキーである単一のコマンドライン引数を受け入れる必要があります。キー自体は大文字と小文字を区別しないようにする必要があるため、キー内の文字が大文字であるか小文字であるかは、プログラムの動作に影響しません。出力し、すぐにmainから値1を返します。プレーンテキストのstringを要求しなければなりません。プログラムは、(改行なしで)ciphertext:として平文に対応する暗号文を出力しなければなりません。平文中のそれぞれのアルファベット文字は、暗号文中の対応する文字に置き換えられます。アルファベット以外の文字はそのまま出力されます。プログラムは大文字/小文字を保持する必要があります。大文字は大文字のまま、小文字は小文字のままにしておく必要があります。暗号文を出力した後、改行を出力する必要があります。プログラムはmainに0を返して終了するはずです。ウォークスルーコードのテスト方法check50を使用して以下を実行し、コードの正確さを評価してください。コンパイルとテストは必ず自分で行ってください。cs50/problems/2021/x/substitution以下を実行し、style50を使用してコードのスタイルを評価します。次のコマンドを実行し、GitHubのユーザ名とパスワードを入力してログインします。languages.。