bugy utworzono 15 listopada 2007 utworzono 15 listopada 2007 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 16 listopada 2007 komentarz 16 listopada 2007 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 16 listopada 2007 komentarz 16 listopada 2007 W c++ wyglądałoby to tak: int tablica[20][20]; dla tablicy dwuwymiarowej. Przydają się przy operacjach na macierzach.
grucha komentarz 16 listopada 2007 komentarz 16 listopada 2007 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 16 listopada 2007 Autor komentarz 16 listopada 2007 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 20 listopada 2007 komentarz 20 listopada 2007 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.