ArchiFORUM
http://archiforum.cz/

GDL - n rozmerné pole
http://archiforum.cz/viewtopic.php?f=9&t=2168
Stránka 1 z 1

Autor:  forad [ ned dub 27, 2008 11:32 pm ]
Předmět příspěvku:  GDL - n rozmerné pole

Zdravím
řeším menší problém, který se mi nedaři vyřešit, potrebuji vytvořit N-rozměrné pole (matici)
tak např. 5 řádku a 2 sloupce atd.... nebo 5 a 5 .....
napsal jsme si zatim jen pole o N řádcích a 1 sloupcem asi takhle:

if GLOB_MODPAR_NAME = "velikost" Then

DIM x1[ ]

For i=1 to velikost
x1[i] = n_x[i]
next i
ENDIF

parameters n_x = x1 : n_x = x1

!!takže výsledkem je libovolný počet řádků , dle zadané hodnoty v proměné velikost, ale ne sloupců, jak to vyresit?!!
děkuji za odpověd.

Autor:  LubosC [ pon dub 28, 2008 8:11 am ]
Předmět příspěvku:  Re: GDL - n rozmerné pole

vicerozmerne pole je přece Dim Pole [5][2]
a plneni je Pole [1][1]= 10

v čem je problem ??

Autor:  forad [ pon dub 28, 2008 1:07 pm ]
Předmět příspěvku:  Re: GDL - n rozmerné pole

ok, takže když bych chtel napsat pole o i řádcích j sloupcích tak bych to napsal asi teda takhle:

DIM pole[i][j]

For i=1 to velikost
pole[i] = n_x[i] ! !??!!!
next i
for j=1 to velikost
pole[j]=n_y[j] !! ????!!
next j
ENDIF
parameters n_x = pole : n_x = pole

?? takže si vytvořím 3 proměné n_y , n_x a pole, pomocí hodnot n_y a n_x určím velikost matice Pole [i][j] ?

Ale nejak mi to stále nefunguje :( , Jde mi o tento vysledek:
Po zadání hodnot n_x a n_y se hodnoty vloží do promené pole[][] a pomocí grafického rozhraní si pak ručne vložím hodnoty do pole sám a pak s těmite hodnoty dálé budu pracovat .......
Nevím jestli jsem to dobře popsal. Děkuji za odpověd.

Autor:  LubosC [ pon dub 28, 2008 3:02 pm ]
Předmět příspěvku:  Re: GDL - n rozmerné pole

co takhle ??

Kód:
DIM pole[velikost][j]
For i=1 to velikost
   pole[i] [1] = n_x[i]
   pole[i] [2] = n_y[i]
next i

Autor:  jirat [ pon dub 28, 2008 3:23 pm ]
Předmět příspěvku:  Re: GDL - n rozmerné pole

A nebo takto:
Kód:
DIM pole[velikost-i][velikost-j]
FOR i=1 TO velikost-i
   FOR j=1 TO velikost-j
     pole[i][j] = ......
   NEXT j
NEXT i

Bohužel ze zadání není přímo patrné čím budete pole plnit a k čemu to pole potom potřebujete. Možná, že by se dalo vymyslet i konkrétnější řešení.

Autor:  LubosC [ pon dub 28, 2008 3:38 pm ]
Předmět příspěvku:  Re: GDL - n rozmerné pole

pozor na nazorne ale nefunkcni pojmenovani pole [velikost-i]
pouzijte podtrzitko misto minusu priste [velikost_i]

Autor:  jirat [ pon dub 28, 2008 3:50 pm ]
Předmět příspěvku:  Re: GDL - n rozmerné pole

ja vím, jen mi přišlo, že se trochu "slije" _ a j .... _j, tak aby to bylo čitelné :-)
je fakt, že v kódu
Kód:
_j
je to čitelné, tak pro příště napravím


Kód:
DIM pole[velikost_i][velikost_j]
FOR i=1 TO velikost_i
   FOR j=1 TO velikost_j
     pole[i][j] = ......
   NEXT j
NEXT i

Autor:  forad [ pon dub 28, 2008 4:33 pm ]
Předmět příspěvku:  Re: GDL - n rozmerné pole

DIM pole[velikost][j]

při tomto zápisu mi to stále hlásí chybu na prvním řádku: Rozměr matice musí být kladné číselné konstatny ? :(

Autor:  LubosC [ pon dub 28, 2008 4:49 pm ]
Předmět příspěvku:  Re: GDL - n rozmerné pole

viz priklad pole v GDL je 1 az n ne jako jinde 0 az (n-1)

prvni index pole je 1

Autor:  forad [ úte dub 29, 2008 12:01 pm ]
Předmět příspěvku:  Re: GDL - n rozmerné pole

tak problém vyřešen:

if GLOB_MODPAR_NAME = "n_bodu" Then

DIM x1[][]
For i=1 to n_bodu
x1[i][i] = n_x[i][i]
next i
ENDIF
parameters n_x = x1 : n_x = x1

děkuji 8)

Autor:  LubosC [ úte dub 29, 2008 1:01 pm ]
Předmět příspěvku:  Re: GDL - n rozmerné pole

vas posledni priklad pokud je to vase funkcni verze je ponekud podivny
pole plní po uhlopříčce a zbytek nevyuziva
vyhrazuje zbytecnou pamet
je to nejake divne
8)

Autor:  forad [ úte dub 29, 2008 6:47 pm ]
Předmět příspěvku:  Re: GDL - n rozmerné pole

ano, je to jen teorie toho co chci vytvořit, takže se to jeste hodne zmení, ale základ je v tom dany.

Autor:  LubosC [ stř dub 30, 2008 9:13 am ]
Předmět příspěvku:  Re: GDL - n rozmerné pole

zkuste prostudovat tuto knihu je ta spousta zajimavych postupu a triku
http://www.archicad.ca/?p=84

Autor:  forad [ stř dub 30, 2008 2:19 pm ]
Předmět příspěvku:  Re: GDL - n rozmerné pole

jo diky moc, to se hodí takové veci. :D ,

Stránka 1 z 1 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/