Dodaj do ulubionych

Tablice w Pascalu

01.11.05, 20:18
Czy ktos wie jak zrobić tablicę w paskalu o wymiarach powiedzmy 1000 na 1000
bo mi wywala błąd jak wpiszę normalnie tzn:
tab:array [1..1000,1..1000] of integer;
Tylko proszę jak do początkującego programisty.
Obserwuj wątek
    • alsor Re: Tablice w Pascalu 02.11.05, 00:25
      Robisz w 16 bitowym paskalu a tam jest ograniczenie rozmiaru tablic
      do 64KB. 1000*1000*2 to prawie 2000KB.
      Podziel tą tablicę na kawałki, albo najlepiej przerzuć się na delphi lub inny
      32 bitowy system.
      • ferdziu Re: Tablice w Pascalu 07.11.05, 13:50
        A w C++ uda mi sie coś takiego zrobić?
        • alsor Re: Tablice w Pascalu 07.11.05, 17:51
          Pewnie tak, ale takich wielkich tablic nigdy się nie deklaruje,
          zawsze jest inny i lepszy sposób na załatwianie takich rzeczy.
          • mx-5 Re: Tablice w Pascalu 11.11.05, 22:37
            We Free Pascalu taki motyw przejdzie - on jest 32 bitowy ;)
            Takie tablice owszem deklaruje sie , ale w celach raczej naukowych - fizycy
            operuja na macierzach milion x milion - tysiac to dla nich pryszcz :D
            Jak sie ma Cray`e w piwnicach hehe ...
            A tak poza tym to faktycznie w typowych zastosowaniach tablica dwuwymiarowa
            1000 x 1000 to straszne marnotrastow pamieci.Czepiajac sie tak juz to staraj
            sie pisac tak:

            const
            rozmiar=1000;
            type
            index=1..rozmiar;
            tablica=array[index,index];
            var
            a:tablica;

            To bardzo dobry nawyk- jesli potem przyjdzie Ci ochota zmienic 1000 na np:10
            to nie przeprawiasz calego programu tylko zmieniasz rozmiar stalej ;]
            Pozdr!
            • alsor Re: Tablice w Pascalu 12.11.05, 17:59
              milion razy milion = trylion - ciekaw jestem kto wpisuje ten trylion
              współczynników.
              Zakładając 4 bajtowe elementy mamy:
              10^12*4 = 10^9*4000 - jest to prawie 4000GB.

              Jeżeli ta macierz zawiera mniej niż 99.9% zer to wątpię w to,
              aby istniał taki komputer, który coś tam policzy w sensownym czasie.
              Jedyna szansa to rozdzielenie obliczeń na tysiące komputerów - ale i to marnie
              widzę.

              Dla układu równań liniowych można policzyć czas obliczeń:
              liczba operacji wynosi ponad: n^3/3, dla n = milion daje to 10^18/3,
              jedna operacja (tu jest to mnożenie i dodawanie oraz odczyt i zapis do pamięci)
              niech trwa 10^-9s (miliard na sekundę - pentium 4GHz ma około 10 razy mniej),
              wtedy: t = 10^18/3*10^-9 = 10^9/3s = 10.5 lat.
              • mx-5 Re: Tablice w Pascalu 12.11.05, 22:00
                Tak wlasnie jest - wykladowca nam opowiadal ;]
                Na UW maja wlasnie pare Cray`ow ( kosztowaly podobno kupe szmalu ) i one
                obliczaja takie macierze - oczywiscie milion x milion na milion zdarza sie
                rzadko, ale takie 100 000 x 100 000 to czesto i sie liczy pare miesiecy ;]]
                Ale sa to naprawde naukowe zastosowania ;]
                Wogole to maja tam jeszcze jakis reaktor czasteczek starch sie bac co sie tam
                czai jeszcze w tych podziemiach UW :>>

Nie pamiętasz hasła

lub ?

 

Nie masz jeszcze konta? Zarejestruj się

Nakarm Pajacyka