はい、これは割り当てであり、完全に機能するコードを探しているわけではありません。1 つまたは 2 つのスニペットと、ちょっとしたアイデアが必要なだけかもしれません。なので、この番組では
- ユーザーは、テキストを含む元のファイルを求められます。
- ユーザーは、暗号化されたテキストが置かれる出力ファイルを求められます
- ユーザーは暗号化キー n (この場合は数字) を求められます
- ファイルから n*n 文字を 2 次元配列の n 行 n 列に読み取ります。
- 配列を転置します (行と列を交換します。
- 配列の文字を出力ファイルに書き込みます
- 手順 4 ~ 6 を繰り返します。
基本的に私はこれをすべて行うことができますが、これが私を混乱させる場所はステップ 7 です...繰り返しの部分です。これは奇妙に聞こえますが、次の理由によるものです。
プログラムには、次のタスクを実行するための機能が必要です。
ファイルから配列に文字を読み取ります。この関数には、入力ファイル ストリーム、配列、およびキーを渡す必要があります。
(したがって、この関数では、入力ファイルからの文字を2次元配列に入れると推測しています。私が抱えている混乱は、この関数がvoidであるべきか、それとも2次元配列を返すべきかということです。配列を転置する必要があるため、配列を返す必要がありますが、仕様では、この関数では配列を渡す必要があると述べています. また、ファイルから文字を取得する場合、それを 2 次元配列にどのように割り当てるのですか.
配列の転置。この関数には、配列とキーを渡す必要があります。
(わかりました、転置できます。行と列を交換するだけです。また、出力ファイルに書き込むために配列を再度返す必要がありますか?) これは、転置後のテキストの外観です。
- 文字を配列からファイルに書き込みます。この関数には、出力ファイル ストリーム、配列、およびキーを渡す必要があります。入力ファイルの最初の 16 文字が次の場合
「ザ・クイック・ブラウン・フォックス・ジャンプ・オーバー・T」
キーが 4 の場合、出力ファイルの最初の 16 文字は「TQKOHU WEIBN CR FJSEOU RXMO PVT」になりますが、残りのテキストに対してこのプロセスをどのように繰り返すかという問題が残ります。
繰り返しますが、私はアイデアが必要です。私は誰にも私のためにそれをコーディングするように頼んでいません。ありがとうございました。