x-kom hosting

Tablice Wielowymiarowe - Do Czego Służą?

bugy
utworzono
utworzono

Witam,

Jakieś 2 miesiące temu zacząłem przygodę z programowaniem. Ostatnio zaczęło mnie nurtować jedno pytanie. Do czego (w praktyce) służą tablice 2 i więcej wymiarowe (nie wiem ile wymiarów mogą mieć maksymalnie). Jaką (i w jakich przypadkach) mają one przewagę nad tablicami jednowymiarowymi?

Pozdrawiam i z góry dziękuję za odpowiedzi!

onna
komentarz
komentarz

A czy wiesz drogi kolego co to są macierze?

To są właśnie tablice dwuwymiarowe.

Zadania na macierzach są bardzo przydatne w matematyce.

Przykłady tablic:

Tablica jednowymiarowa:

1 2 3 4 5 6

Tablica dwuwymiarowa:

1 2 3 4 5 62 3 4 5 6 73 4 5 6 7 84 5 6 7 5 45 4 3 2 1 0

Tablica jednowymiarowa może być potraktowana jako ciąg liczba w matmie a dwu- jako macierz.

Innymi słowami tablice to struktury danych zwane tablicami która jest zmienną pamiętającą tabelę wartości. Każda tabela ma swój indeks (indeksami są zazwyczaj po prostu numery).

Np do tablic jednowymiarowych:

Musisz zarejestrować płace dwudziestu pracowników firmy. Potrzebnych by było 20 zmiennych typu real albo longint.

varplacaPraownika_1:longint;placa_Pracownika_2:longint;...placa_Praocwnika_20:longint;

A możesz za pomocą tablicy jednowymairowej przedstawic to tak:

var place:array[1..20] of longint;

I wsio.

Posłużyłam się Pascalem do wytłumaczenia :)

Może ktoś coś jeszcze doda :)

tom300
komentarz
komentarz

W c++ wyglądałoby to tak:

int tablica[20][20];

dla tablicy dwuwymiarowej.

Przydają się przy operacjach na macierzach.

grucha
komentarz
komentarz
Tablica jednowymiarowa może być potraktowana jako ciąg liczba w matmie a dwu- jako macierz.

Może być również potraktowana jako macierz a dokładniej jako wektor :)

Tablice trójwymiarową możesz traktować jako np. zbiór punktów w R3;]

Praktyczne zastosowanie?

Chociaż by program który operuje na macierzach (dodawanie, mnożenie, odwrotność, wyznacznik, ślad)

Wszystkie te zadania trudno było by Ci wykonać na zwykłych zmiennych, nawet na tablicach jedno wymiarowych :]

Ogólnie zastosowanie praktyczne takich tablic, zawsze wychodzą w praktyce, zależnie od zastosowania ;]

Co do ilości wymiarów. Hmm.. raczej się nie spotkałem z jakimś ogranicznikiem :)

bugy
komentarz
komentarz

Wielkie dzięki wszystkim!A wie ktoś czy i JAK da się tworzyć tablice wielo(dwu)wymiarowe szarpane. Takie, gdzie długość wierszy różni się. Np pierwszy ma długość 3, drugi 7, a trzeci 5. Wiem że dało się to robić w jawie, ale co to c++ to nie mogę nigdzie znaleźć.PozdrawiamWielkie dzięki wszystkim!A wie ktoś czy i JAK da się tworzyć tablice wielo(dwu)wymiarowe szarpane. Takie, gdzie długość wierszy różni się. Np pierwszy ma długość 3, drugi 7, a trzeci 5. Wiem że dało się to robić w jawie, ale co to c++ to nie mogę nigdzie znaleźć.Pozdrawiam

Dudenzz
komentarz
komentarz

tak jasne że się da, z tym że to już nie tablice tylko wektory i to o czym mówisz to wektor wektorów w c++ zapis by wyglądał tak, że przy jednej zmiennej robisz dwa operatory wektora(*), długość wektora przydzielana jest dynamicznie więc możesz dowolnie modulować wielkość poszczególnych wierszy i wielkość wszystkich kolumn. Jednak jeżeli dwa miesiące temu zacząłeś to narazie nie ma potrzeby żebyś się tym zajmował. Jeżeli jednak koniecznie chcesz zrobić coś takiego, to zrób poprostu "za dużą tablicę" i użytkownikowi udostępniaj tylko ilość "wpisanych" kolumn i wektorów, tylko pamiętaj żeby na początku całą tablicę wypełnić NULL'em(NULL to nie zero a nic, możesz robić takie operacje jak porównywać NULL, sprawdzać istnienie NULL z tym operatorem nie ma zbyt dużych problemów).

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.