Wraz z rozwojem komputerów pojawiło się zapotrzebowanie na wygodne zarządzanie tablicami. W języku C# tworzenie oraz zarządzanie tablicami wielowymiarowymi jest intuicyjne i bardzo przydatne. W tym artykule zostanie między innymi przedstawione jak je tworzyć, zmieniać wartości.
Tablicę dwuwymiarową deklaruje się bardzo podobnie jak w przypadku tablicy jednowymiarowej. Wystarczy zmienić liczbę podaną jako rozmiar na dwie liczby i rozdzielić je przecinkiem. Jest to sygnał dla kompilatora, że jest to deklaracja tablicy dwuwymiarowej o pewnych zadanych rozmiarach. Oto ogólna definicja deklaracji:
Oto przykładowa deklaracja tablicy 2D o rozmiarach w×h i przechowujące liczby całkowite.
W celu odwołania się do konkretnego elementu należy podać dwie wartości w nawiasach kwadratowych zamiast jednej. Poniższa linijka odwołuje się do tablicy nazwanej tablica i pobiera elementy zapisany na pozycji (x, y).
Oczywiście należy pamiętać, aby nie wyjść poza zakres tablicy, ani dla jednej, ani dla drugiej współrzędnej. Obydwie możliwości spowodują zgłoszenie wyjątku i przerwanie działania programu (chyba, że wyjątek zostanie obsłużony).
Napisz program, który zadeklaruje tablicę dwuwymiarową wielkości 5×5, a następnie każdemu elementowi przypisze wartość liczbową, która powstaje poprzez złożenie numeru wiersza oraz kolumny tj. pole (3, 4) ma wartość 34. Na koniec tablica ma zostać wypisana na ekran.
Rozwiązanie zadania należy rozpocząć od zadeklarowania tablicy. Jedną z możliwości jest wpisanie jej wielkości na stałe, ale tutaj zostaną wykorzystane dodatkowe zmienne, aby później można je było wykorzystać do przechodzenia po tablicy.
Wszystkie elementy tablicy mają teraz domyślną wartość 0. Do przejścia po każdym elemencie tablicy najwygodniej jest użyć podwójnej pętli - indeks x będzie przechodził po kolejnych kolumnach, a y - po kolejnych wierszach. Każdemu elementowi zostaje przypisane złożonie cyfr określone w zadaniu.
Wypisanie tablicy ma już podobny schemat kodu jak zapisywanie danych do tablicy. Należy jednak pamiętać o zachowaniu odstępu pomiędzy elementami, aby zachować czytelność.
Napisany kod można teraz uruchomić, aby sprawdzić poprawność jego działania. Oto wynik, który zostanie wypisany:
W języku C# istnieje możliwość odczytania wymiarów bezpośrednio z tablicy. Jednak, aby odczytać szerokość lub wysokość tablicy należy użyć specjalnej metody GetLength() i jako argument podać rozmiar, którego wymiaru ma być zwrócony. Wymiary są indeksowane od 0.
W powyższym przykładzie jest pobierany n-ty rozmiar tablicy nazwanej tablica.
Poniżej została przedstawiona metoda WypiszTablice(), która wypisuje na ekran przekazaną tablicę jako argument.
W celu wypisania danych metoda korzysta (2., 3.) ze wspomnianej wcześniej metody GetLength() w celu pobrania rozmiarów tablicy. (4.) Elementy są rozdzielone znakiem tabulacji, a (5.) kolejne wiersze tablicy znajdują się w oddzielnych wierszach.
Napisz program, który wypełni tablicę w następujący sposób:
Napisz funkcję SumujElementyTablicy(), która zsumuje wszystkie elementy, które znajdują się w tablicy i zwróci tę sumą. Przetestuj działanie napisanej funkcji.
Przykładowo dla tablicy:
funkcja powinna zwrócić: