問題タブ [vigenere]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
970 参照

c - コマンド ライン引数 セグメンテーション エラー (コア ダンプ)

セグメンテーション違反は、触れてはならないメモリを使用しようとしていることを意味することを理解していますが、コードのどこから来ているのかわかりません。vigenere の暗号を使用してプレーン テキストを暗号化する課題用のプログラムを作成しました。正常にコンパイルされますが、コマンド ライン引数を指定して実行すると、セグメンテーション エラーが発生します。

0 投票する
0 に答える
32 参照

c - キー文字列を反復処理するときの Vigenere 暗号「浮動小数点例外 (コア ダンプ)」

私が取り組んでいるこのプログラムは、「プレーンテキスト」文字列が繰り返される vigenere cypher であり、各アルファベット文字は、アルファベット順に 0 でインデックス付けされた「キー」文字列 (argv[1]) によって調整されます。キー文字列の最後に到達すると、最初の文字にループバックする必要があります。私はしばらくこれに取り組んできましたが、このエラーでレンガの壁に到達しました。プログラムは "keyi" ("key" 文字列の反復を意味する) の初期化に到達し、"浮動小数点例外 (コア ダンプ)" というエラーをスローします。さて、ダンプされた「コア」ファイルを読み取る方法がわかりませんが、エラーに基づいて、私の定義が問題を引き起こしているフロートを何らかの形で作成していると推測します。私はただできる」ただし、フロートがどのように作成されているかはまったくわかりません。1 つの int と別の int の残りは int である必要がありますよね?

ここで他に何を試すことができるかわかりません。ここでの間違いが何であるかを学び、先に進みたいと思います.

0 投票する
1 に答える
97 参照

java - コンパイラが " java.lang.ArrayIndexOutOfBoundsException: x -error を返すのはなぜですか? (サイズは入力によって異なります)

Java内で、5〜15の間の特定の長さで、vigenere-cipherのキーの長さを推測する小さなプログラムを作成しています。転置のため、標準偏差を計算することでこれを行います。しかし、私の本当の質問は、メソッド「countFrequency」の配列で範囲外のエラーが発生する理由です。限界を超えているところが見えない。

私のプログラムがより効率的になる可能性があることはわかっていますが、このエラーが修正されれば動作するはずです。私のプログラムコードは以下です。

ありがとう!

}

0 投票する
4 に答える
244 参照

c - セグメンテーション違反エラーが発生する理由がわかりません

読む前に、私が学生であることを心に留めておいてください。「ほら、私はそれを修正しました」という単なるコード行よりも、詳細な説明を受け取る方がはるかに有益です. 私は提出物にこの投稿をリンクさせます。学問的誠実性と、模倣と助長について非常に厳しい規則があります。それを念頭に置いていただければ幸いです。

このプロジェクトの目的は、vigenere 暗号を作成することです。以下は、私の先生が提供した指示です。

今週の最後の課題は、vigenere.c で、Vigenere の暗号を使用してメッセージを暗号化するプログラムを作成することです。このプログラムは、1 つのコマンド ライン引数を受け入れる必要があります。つまり、完全にアルファベット文字で構成されるキーワード k です。プログラムがコマンド ライン引数なしで実行された場合、複数のコマンド ライン引数が指定された場合、またはアルファベット以外の文字を含む 1 つのコマンド ライン引数が指定された場合、プログラムは文句を言ってすぐに終了し、main は 1 を返します (したがって、独自のテストで検出できるエラーを示します)。それ以外の場合、プログラムはユーザーに平文の文字列 p の入力を求めるプロンプトを表示し、k を使用して Vigenère の暗号に従って暗号化し、最終的に結果を出力して終了し、main は 0 を返す必要があります。

k の文字については、A と a を 0、B と b を 1、…、Z と z を 25 として扱わなければなりません。手紙。他のすべての文字 (数字、記号、スペース、句読点など) は、変更せずに出力する必要があります。さらに、コードが k の j 番目の文字を p の i 番目の文字に適用しようとしているが、後者がアルファベット以外の文字であることが判明した場合、k の j 番目の文字を p の次のアルファベット文字に適用するのを待つ必要があります。 ; k の次の文字に進んではいけません。最後に、プログラムは p の各文字の大文字と小文字を保持する必要があります。

コードを反復処理し、暗号化されているフレーズよりも短い場合はキーがループすることを確認し、キーを非アルファ文字に適用していないことを確認するという要件を満たしていると確信しています。ただし、暗号化する文字列を入力するように求められる前にセグメンテーションのデフォルトが表示されるため、問題はコードの上半分にあると確信しています。コードをかなり調べましたが、なぜセグメンテーション違反が続くのかまだわかりません。

0 投票する
1 に答える
1687 参照

java - Vigenere Cipher Java UTF-8

これを読んでいる皆さん、こんにちは!

JavaでVigenere暗号を実現する必要があります。読み取り、エンコード、およびデコードする .txt ドキュメントがあります。ここにあります:

私の問題は、文字を正しくシフトする方法がわからないことです。この表によると、ラテン文字には 0061 から 007A までのコードがあります。私が必要としているドイツ語: 00C0 - 00FF、ポーランド語: 0100-017F、ロシア語 0430-044F で、私は中国語を追加しませんでした。

どのように指定unshiftCharshiftCharて正しいものにすることができますか? 今、私の入力は次のようになります。

Java コードは次のとおりです。