0
J'ai un tableau int représentant des éléments de la matrice carrée. J'ai besoin de lignes, de colonnes, de 2 diagonales principales. J'ai du mal à obtenir une deuxième diagonale (pour une matrice 3 * 3, ce sont des éléments avec des index 2,4,6 pour 6 * 6 - 5,10,15,20,25,30). Je me demande s'il y a une bonne façon de le faire sans boucles.Obtention de la diagonale principale de la matrice carrée en représentation linéaire
var matrix = new int[] { 6, 7, 2, 1, 5, 9, 8, 3, 4 };
int size = 3;
int i = 0;
var rows = matrix.GroupBy(x => i++/size);
i = 0;
var columns = matrix.GroupBy(x => i++ % size);
var diag1 = matrix.Where((x, index)=>index%(size+1)==0);
var diag2 = matrix.Where((x, index) => index % (size - 1) == 0);//PROBLEM - takes 0,8 indexes also.