Конъюнкция строк матрицы

258
14 марта 2018, 03:35

Есть прямоугольная матрица, состоящая из 0 и 1. Необходимо посчитать конъюнкцию строк это матрицы (каждую с каждой), а затем сумму полученной в результате конъюнкции строки. Как это реализовать? вот наработки, но считает не верно...

//MatrQ[10][11]
//       m   n
int[] curL1 = new int[m];//сумма после конъюнкции
for (int f = 1; f < m; f++)
{ 
    for (int i = 0; i < m; i++)
    {
        for (int j = 1; j < n; j++)
        {
            if (MatrQ[f][j] == 1 && MatrQ[i][j] == 1)
            {
                curL1[f] += 1;
            }
        }
    }
}

Матрица с которой работаю

1 1 0 1 0 0 0 0 0 1 1
1 1 1 0 0 0 0 0 0 0 0
0 1 1 0 1 0 0 0 0 0 0
0 0 0 0 0 1 1 1 0 0 0
1 0 1 1 0 0 0 0 0 0 0
0 0 0 0 1 1 0 0 0 0 0
0 0 1 0 0 0 0 0 1 0 1
0 0 1 0 0 0 0 0 1 0 0
0 0 0 0 0 1 1 0 1 0 0
0 0 0 0 0 0 1 1 0 1 0

Результат ( строка 0 в расчете не участвует, и в расчетах не учитывается)

  CurL1 = {
    -
    3
    3
    3
    2
    2
    2
    2
    3
    2
    }
Answer 1

Если я правильно понял условие, то такое решение вам должно подойти:

int[,] matrix =
{
    { 0, 0, 1, 1, 1, 0 },
    { 1, 0, 1, 0, 1, 0 },
    { 1, 1, 1, 0, 1, 1 },
    { 1, 1, 1, 1, 1, 1 },
    { 0, 1, 1, 0, 1, 1 },
    { 1, 0, 1, 1, 0, 1 },
    { 0, 1, 1, 1, 0, 1 }
};
int rows = matrix.GetLength(0);
int cols = matrix.GetLength(1);
int sum = 0;
for (int c = 0; c < cols; ++c)
{
    int res = 1;
    for (int r = 0; r < rows; ++r)
        res &= matrix[r, c];
    sum += res;
}
Console.WriteLine(sum);

Пробегаем матрицу по столбцам. Для каждого столбца выполняем конъюнкцию всех элементов (за начальное значение я принял 1, т.к. X & 1 = X). Результат по столбцу просто добавляем в общую сумму.

READ ALSO
Помогите разобратсья с lambda

Помогите разобратсья с lambda

Есть такой код:

209
C# WPF. Перенос текста на другие строчки в ячейке таблицы

C# WPF. Перенос текста на другие строчки в ячейке таблицы

ЗдравствуйтеЕсть такая ссылка по моему вопросу: ссылка (свойство ElementStyle)

186
Как изучать последовательно Javascript? [дубликат]

Как изучать последовательно Javascript? [дубликат]

На данный вопрос уже ответили:

237
Сортировка подмассивов в массиве [дубликат]

Сортировка подмассивов в массиве [дубликат]

На данный вопрос уже ответили:

237