Cypher

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit a3b1287557feeb281010c6b392c70b6358a63efa
parent 4e704bdf0949adefb8f9f06da74937ba760853a5
Author: Minerva_juppiter <94231606+minerva-jupiter@users.noreply.github.com>
Date:   Tue, 28 Jun 2022 23:10:54 +0900


Diffstat:
MSortProgram.cs | 9++++++---
Mtest.cs | 146-------------------------------------------------------------------------------
2 files changed, 6 insertions(+), 149 deletions(-)

diff --git a/SortProgram.cs b/SortProgram.cs @@ -98,7 +98,6 @@ namespace Cypher indexNumber++; outNumber++; } - Console.WriteLine(arreyNumber); arreyNumber++; } } @@ -135,7 +134,6 @@ namespace Cypher outNumber++; inNumber++; } - Console.WriteLine(arreyNumber); arreyNumber++; } } @@ -148,10 +146,14 @@ namespace Cypher { Array.Copy(sorded, 0, dates, 0, 100 - howLongDateInt); } + else + { + dates = sorded; + } //書きこ File.WriteAllBytes(whereSortedFile, dates); } } -} +}+ \ No newline at end of file diff --git a/test.cs b/test.cs @@ -11,152 +11,6 @@ namespace Cypher { public void test() { - //復号プログラム - - //変数宣言 - int[] order = new int[100]; - int inNumber = 0; - - //質問 - string whereEncrypted; - string whereKeyFile; - string whereSortedFile; - string howLongDate; - - //自動テスト - whereEncrypted = @"h:\encrypted.txt"; - whereKeyFile = @"h:\key.txt"; - whereSortedFile = @"h:\sorted.txt"; - howLongDate = "390"; - - /* - Question question = new Question(); - whereEncrypted = question.Questions("Where is encrypted file?",true); - whereKeyFile = question.Questions("Where is KeyFile?",true); - whereSortedFile = question.Questions("Where will you create sorted file?",false); - howLongDate = question.Questions("How Long the date file?",false); - */ - int howLongDateInt = int.Parse(howLongDate); - - //byteのデータを長さの数だけ用意 - byte[] dates = new byte[howLongDateInt]; - byte[] sorded = new byte[howLongDateInt]; - - int quotient; - int amari; - bool multipleJudgment; - //データサイズに適した数ずつ引っこ抜く - if (howLongDateInt % 100 == 0) - { - quotient = howLongDateInt / 100; - amari = howLongDateInt % 100; - multipleJudgment = true; - } - else - { - //100で割り切れない場合は、99で割って、その余りをすべてamariにぶち込む - quotient = howLongDateInt / 99; - amari = howLongDateInt - quotient * 99; - multipleJudgment = false; - } - - //ReadkeyFile - ResdFiles resdFiles = new ResdFiles(); - order = resdFiles.ReadKeyFile(whereKeyFile); - - //Read Encrypted File - inNumber = 0; - FileStream fs = new FileStream(whereEncrypted, FileMode.Open); - byte[] encrypted = new byte[fs.Length]; - fs.Read(encrypted, 0, encrypted.Length); - fs.Close(); - Console.WriteLine("Encrypted date was readed"); - - //sort - inNumber = 0; - int arreyNumber = 0; - int indexNumber = 0; - int indexStartNumber = 0; - int indexEndNumber = 0; - int outNumber = 0; - if (multipleJudgment) - { - //100で割り切れないとき - while (arreyNumber < 100) - { - //参照すべき番号を検索 - indexNumber = Array.IndexOf(order, arreyNumber); - //参照始めの行 - indexStartNumber = indexNumber * quotient; - //参照終わり+1の行 - indexEndNumber = (indexNumber + 1) * quotient; - - //参照して"written"に代入 - outNumber = indexStartNumber; - while (indexNumber < indexEndNumber) - { - sorded[inNumber] = encrypted[outNumber]; - indexNumber++; - outNumber++; - } - Console.WriteLine(arreyNumber); - arreyNumber++; - } - } - else - { - //100で割り切れない数の場合 - //余りの位置を特定 - int whereAmari = Array.IndexOf(order, 99); - - while (arreyNumber < 100) - { - indexNumber = Array.IndexOf(order, arreyNumber); //inNumber 80 - //indexNumberとamariの関係で場合分け - if (indexNumber < whereAmari) - { - //indexNumberがamariの方が小さいとき。 - indexStartNumber = indexNumber * quotient; - indexEndNumber = (indexNumber + 1) * quotient; - } - else if (indexNumber == whereAmari) - { - indexStartNumber = indexNumber * quotient; - indexEndNumber = indexNumber * quotient + amari; - } - else - { - indexStartNumber = (indexNumber - 1) * quotient + amari; - indexEndNumber = indexNumber * quotient + amari; - } - outNumber = indexStartNumber; - while (outNumber < indexEndNumber) - { - sorded[inNumber] = encrypted[outNumber]; - outNumber++; - inNumber++; - } - Console.WriteLine(arreyNumber); - arreyNumber++; - } - } - Console.WriteLine("The date was sorted."); - Writedate(sorded); - - - //データを元の長さに整理 - //ファイルサイズが100以下の場合 - if (howLongDateInt < 100) - { - Array.Copy(sorded, 0, dates, 0, 100 - howLongDateInt); - } - else - { - dates = sorded; - } - - //書きこ - File.WriteAllBytes(whereSortedFile, dates); }