Transpozycja Tablicy
Napiszemy teraz zapytanie, które transponuje tablicę kwadratową (przełącz wiersze z kolumnami).
Oczekiwane dane wejściowe i wyjściowe
[1,1,1,1 [1,2,3,4
2,2,2,2 1,2,3,4
3,3,3,3 → 1,2,3,4
4,4,4,4] 1,2,3,4]
Rozwiązanie:
public class TransposeAnArray
{
public static void Main()
{
var array = new int[][] {new int[]{ 1, 2, 3, 4, 5 },
new int[]{ 6, 7, 8, 9, 10 },
new int[]{ 11, 12, 13, 14, 15 },
new int[]{ 16, 17, 18, 19, 20 },
new int[]{ 21, 22, 23, 24, 25 }};
var transposedArray = Enumerable.Range(0, array.Length).Select(x => array.Select(y => y[x]));
foreach (var row in transposedArray)
{
foreach (var number in row)
{
Console.Write(number + " ");
}
Console.WriteLine();
}
}
}