Sprawdzenie czy macierz jest macierzą kwadratową

0

Hej wszystkim!
Wydawać by się mogło, że pytanie proste i pewnie tak jest ale mam chwilowe zaćmienie. Chciałabym sprawdzić czy macierz będąca elementem pary Tuple<List<List<double>>, List<double>> dataContents jest macierzą kwadratową, założyłam najgorszy przypadek, gdzie kolumny mają różny rozmiar względem siebie oraz wiersze mają różny rozmiar względem siebie tzn.:
2 3 4
1 2
6 7 9 0
2
Pomyślałam, że będę sprawdzać, czy dla każdej kolumny liczba elementów w każdym wierszu jest równa liczbie elementów w kolumnie, problem jest taki, że macierz jest przedstawiona jako List<List<double>> i nie do końca wiem w jaki sposób sprytnie po niej przejść i zliczyć długość każdej kolumny bez iteracji i zapisywania długości kolumn z zmiennej a nie mogę znaleźć żadnej metody getLength() dla kolumn, próbowałam również korzystać z toArray aby przejść na tablicę i tam iterować ale ciągle nie wiem jak otrzymać liczbę elementów w poszczególnych kolumnach bez czasochłonnego iterowania. Będę wdzięczna za jakieś pomysły!
Z góry wielkie dzięki!
Leks

0

List<double> ma metodę Count(), która ci powie, ile ma elementów. Zresztą List<List<double>> też taką metodę posiada :)

Pomyślałam, że będę sprawdzać, czy dla każdej kolumny liczba elementów w każdym wierszu jest równa liczbie elementów w kolumnie,

Jak najbardziej sensowne rozwiązanie.

Prawdopodobnie wyjdzie coś w stylu:

public static bool CzyMacierzJestKwadratowa(List<List<double>> macierz)
{
    var liczbaWierszy = macierz.Count();

    foreach (var item in macierz)
        if (item.Count() != liczbaWierszy)
            return false;

    return true;
}
0

Bardzo dziękuję @Ktos za wskazówkę :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1