поэтому я пытаюсь создать таблицу истинности на С#, чтобы я мог выполнить на ней некоторую логическую алгебру. предполагается, что это таблица истинности с тремя переменными и 8 строками. до сих пор я пытаюсь использовать массив строк массива для ввода таблицы истинности.
string[][] truthTable = new string[8][];
truthTable[0] = new string[2] { "1" , "000"};
truthTable[1] = new string[2] { "0", "001" };
truthTable[2] = new string[2] { "0", "010" };
truthTable[3] = new string[2] { "0", "011" };
truthTable[4] = new string[2] { "0", "100" };
truthTable[5] = new string[2] { "1", "101" };
truthTable[6] = new string[2] { "1", "110" };
truthTable[7] = new string[2] { "1", "111" };
for (int i = 0; i < truthTable.Length; i++)
{
// print out strings that have "1 as first element"
if (truthTable[i].GetValue(i) == "1" )
{
Console.WriteLine(truthTable[i]);
}
}
то, что я хочу сделать прямо сейчас, это распечатать массивы, у которых есть «1» в качестве первого элемента. вывод консоли должен быть чем-то вроде «1» «000» для первого массива, например, и он должен печатать только три других массива, которые также имеют «1». но сейчас он выдает ошибку «за пределами» и ничего не печатает.
Это хороший способ начать работу с таблицей истинности для вычисления суммы произведений или есть лучший способ реализовать ее на С#?
if (truthTable[i].GetValue(0) == "1"
. У вас естьi
вGetValue
, что будет за пределами, когда я › 0 - person   schedule 03.12.2019Console.WriteLine(truthTable[i][1]);
печатает элемент с индексом 1 массива i. Реализация по умолчаниюToString()
для объектов просто выводит имя типа, если оно не переопределено. Примитивные типы, такие как строки в массиве, выводят свое фактическое значение в виде строки. - person   schedule 03.12.2019