public Vector CalculateID() // Вычисление индикатора, нахождение позиции с ошибкой и пишем исправленный результирующий код { Vector temp = new Vector(3); ElementOfVector ev = new ElementOfVector(1); temp.data[0] = new ElementOfVector(rezv.data[3] + rezv.data[4] + rezv.data[5] + rezv.data[6]); temp.data[1] = new ElementOfVector(rezv.data[1] + rezv.data[2] + rezv.data[5] + rezv.data[6]); temp.data[2] = new ElementOfVector(rezv.data[0] + rezv.data[2] + rezv.data[4] + rezv.data[6]); Console.Write("Indicator:"); for (int i = 0; i < 3; i++) { Console.Write(temp.data[i].EV_Value); } if (inTen(temp.data) == -1) { Console.WriteLine("No Error"); rezv.data[0] += ev; } else { Console.WriteLine($"Error in {inTen(temp.data)} position"); Console.WriteLine(inTen(temp.data)); rezv.data[inTen(temp.data) - 1] += ev; } Console.WriteLine(($"Исправленный код : {rezv}")); return(rezv); }
public bool SetElement(ElementOfVector elementOfVector, int index) // Задание элемента вектора { if (index < 0 || index > size) { return(false); } data[index] = elementOfVector; return(true); }
public Vector(Vector v) // Конструктор { size = v.size; data = new ElementOfVector[size]; for (int i = 0; i < size; i++) { data[i] = new ElementOfVector(v.data[i]); } }
public ElementOfVector[] data; // Массив элементов вектора public Vector(int size) // Конструктор { this.size = size; data = new ElementOfVector[size]; for (int i = 0; i < this.size; i++) { data[i] = new ElementOfVector(); } }
} // Получение результирующего вектора public Vector RezNoiseStart(int index) // Создание помех в определенном индексе { ElementOfVector ev = new ElementOfVector(1); if (index < 0 || index > rezv.size) { Console.WriteLine("Неправильный индекс!"); return(new Vector(0)); } rezv.data[index] += ev; return(rezv); }
public Vector RecoverRezV(Vector indicator5, Vector indicator8) // Подсчет 0 или 1 { ElementOfVector ev = new ElementOfVector(); Vector rezv = new Vector(2); int counter0 = 0, counter1 = 0; for (int i = 0; i < 5; i++) { if (indicator5.data[i] == ev) { counter0++; } else { counter1++; } } if (counter0 > counter1) { rezv.data[0] = new ElementOfVector(0); } else { rezv.data[0] = new ElementOfVector(1); } counter0 = 0; counter1 = 0; for (int i = 0; i < 5; i++) { if (indicator8.data[i] == ev) { counter0++; } else { counter1++; } } if (counter0 > counter1) { rezv.data[1] = new ElementOfVector(0); } else { rezv.data[1] = new ElementOfVector(1); } return(rezv); }
public Vector CalculateID8() // Вычисление индикатора для 8 { Vector temp2 = new Vector(6); ElementOfVector ev = new ElementOfVector(1); temp2.data[0] = new ElementOfVector(rezv2.data[0] + rezv2.data[2]); temp2.data[1] = new ElementOfVector(rezv2.data[1] + rezv2.data[3]); temp2.data[2] = new ElementOfVector(rezv2.data[5]); temp2.data[3] = new ElementOfVector(rezv2.data[6]); temp2.data[4] = new ElementOfVector(rezv2.data[7]); Console.Write("Indicator8:"); for (int i = 0; i < 5; i++) { Console.Write(temp2.data[i].EV_Value); } Console.WriteLine(); return(temp2); }
public ElementOfVector(ElementOfVector ev) { Value = ev.Value; }