public BchCodding_Code(ulong characteristicofField, int countMistake, ulong[] figure) { try { CharOfField = characteristicofField; CountError = countMistake; GeneratingFieldArray = figure; InitializeComponent(); var generator = new Polynomial(GeneratingFieldArray); _bch = new BchCode(CountError, CharOfField, generator); var lengthOfMessage = _bch.CodeLength; var numOfInformationSymbols = _bch.NumberOfInformationSymbols; var countOfMistake = _bch.ErrorNumber; string str1 = Convert.ToString(lengthOfMessage); string str2 = Convert.ToString(numOfInformationSymbols); string str3 = Convert.ToString(countOfMistake); string str4 = ","; InfoTextBox.Text = "(" + str1 + str4 + str2 + str4 + str3 + ")"; } catch (Exception ex) { MessageBox.Show(ex.Message); } }
static void Main(string[] args) { //var field=new FactorRing(new Polynomial(new ulong[] { 1, 1, 1 }),3 ); //Polynomial[,] p=new Polynomial[2,2]; //p[0,0]=new Polynomial(new ulong[] {2}); //p[0, 1] = new Polynomial(new ulong[] { 2 }); //p[1, 0] = new Polynomial(new ulong[] { 2 }); //p[1, 1] = new Polynomial(new ulong[] { 0 }); //Matrix m=new Matrix(p,field); //var x = m.Solve(); //Console.ReadKey(); DivTest(11); Dictionary <int, Polynomial> table = new Dictionary <int, Polynomial>() { { 2, new Polynomial(new ulong[] { 1, 1, 1 }) }, { 3, new Polynomial(new ulong[] { 1, 0, 1, 1 }) }, { 4, new Polynomial(new ulong[] { 1, 1, 0, 0, 1 }) }, { 5, new Polynomial(new ulong[] { 1, 0, 0, 1, 0, 1 }) }, { 6, new Polynomial(new ulong[] { 1, 0, 0, 0, 0, 1, 1 }) }, }; var generator = new Polynomial(new ulong[] { 1, 1, 0, 1 }); BchCode bch = new BchCode(20, 7, generator); var msg1 = new Polynomial(new ulong[] { 1 }); var msg2 = bch.Code(msg1); var error = new Polynomial(new ulong[] { 2, 2, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 6, 1, 2 }); var msg3 = error + msg2; msg3.SetMod(7); msg3.Reduce(); var msg4 = bch.Decode(msg3); Console.WriteLine("Введите характеристику поля:"); Console.WriteLine("Введите порождающий полином:\n"); Console.WriteLine("Введите сообщение:" + msg1); Console.WriteLine("Закодированное сообщение:" + msg2); Console.WriteLine("\nВведите вектор ошибки:" + error); Console.WriteLine("Принятое сообщение:" + msg3); Console.WriteLine("Исправленное сообщение" + msg4); Console.ReadKey(); }