Array 2Dimencionales
#1

Buenas, nesesito que me ayuden a entender esto ! pero a lo basico de hay puedo arrancar yo!

pawn Код:
new Float:CamerasPresent[57][7] =
{
    {148.2775,-1940.7916,41.1581, 0.001, 154.1154,-1952.1362,51.3438},
    {158.4620,-1952.5027,60.7858, 0.001, 154.1154,-1952.1362,51.3438},
    {157.5774,-1960.6683,60.7858, 0.001, 154.1154,-1952.1362,51.3438},
    {157.6724,-1960.7848,47.9010, 0.001, 154.1154,-1952.1362,51.3438},
    {140.3312,-1957.0142,47.9010, 0.001, 154.1154,-1952.1362,51.3438},
    {163.0442,-1938.8516,53.2219, 0.001, 154.1154,-1952.1362,51.3438},
    {164.0951,-1937.9269,60.8537, 0.001, 154.1154,-1952.1362,51.3438},
    {149.1857,-1960.2377,60.8537, 0.001, 154.1154,-1952.1362,51.3438},
    {169.3949,-1985.1768,16.9529, 0.001, 154.1154,-1952.1362,51.3438},
    {175.9827,-1934.3521,59.2550, 0.04, 154.1154,-1952.1362,51.3438},
    {139.1381,-1977.8539,59.2550, 0.04, 154.1154,-1952.1362,51.3438},
    {132.6389,-1923.6466,59.2550, 0.01, 154.1154,-1952.1362,51.3438},
    {186.8577,-1976.6010,59.2550, 0.01, 154.1154,-1952.1362,51.3438},
    {152.6268,-2006.2003,59.2550, 0.01, 154.1154,-1952.1362,51.3438},
    {153.5124,-1944.0731,51.5831, 0.04, 154.1154,-1952.1362,51.3438}, // 14 - Tutorial

    {1552.7028,-1736.9661,22.7690, 0.01, 1476.5753,-1693.8572,14.0469},
    {1422.2134,-1653.6403,22.7690, 0.01, 1476.5753,-1693.8572,14.0469},
    {1577.7903,-1638.8691,36.5066, 0.01, 1476.5753,-1693.8572,14.0469},
    {1422.0381,-1743.0465,13.5469, 0.01, 1476.5753,-1693.8572,14.0469}, // 18 - Ayuntamiento

    {-468.3676,-489.1411,25.5178, 0.01, -537.0579,-489.6430,25.5234},
    {-604.5347,-487.9308,25.5178, 0.01, -537.0579,-489.6430,25.5234},
    {-543.1189,-566.5915,75.8019, 0.01, -537.0579,-489.6430,25.5234},
    {-508.0062,-439.7100,42.6914, 0.01, -537.0579,-489.6430,25.5234},
    {-473.1769,-536.4239,34.0925, 0.01, -537.0579,-489.6430,25.5234}, // 23 - Camioneros

    {-1128.0636, 744.9715, 98.6227, 0.01,  -1135.3916, 852.6130, 33.9726},
    {-1226.0461, 888.1572, 91.2405, 0.01,  -1135.3916, 852.6130, 33.9726},
    {-1050.2328, 914.1316, 47.3259, 0.01,  -1135.3916, 852.6130, 33.9726},
    {-1063.9116, 842.9128, 63.9033, 0.01,  -1135.3916, 852.6130, 33.9726},
    {-1208.3907, 840.7576, 59.2398, 0.01,  -1135.3916, 852.6130, 33.9726}, // 28 - sf PUENRTE

    {-2500.1909, 2.3921, 32.1431, 0.01, -2525.9709, -21.1691, 26.7185},
    {-2500.8298, -47.4220, 31.2805, 0.01, -2525.9709, -21.1691, 26.7185},
    {-2553.0349, 13.3076, 34.4357, 0.01, -2525.9709, -21.1691, 26.7185},
    {-2491.5071, 17.1160, 33.8412, 0.01, -2525.9709, -21.1691, 26.7185}, // 32 sf casitas

    {-2852.0374,464.9544,4.0999, 0.01, -2933.6436,470.1097,10.2238},
    {-3033.6431,474.5834,24.5588, 0.01, -2933.6436,470.1097,10.2238},
    {-2974.8450,478.0240,5.9347, 0.01, -2933.6436,470.1097,10.2238},
    {-2869.7942,420.7149,39.4711, 0.01, -2933.6436,470.1097,10.2238},
    {-2946.9832,540.7787,8.8698, 0.01, -2933.6436,470.1097,10.2238}, // 38 - Taller

    {-2145.3135,1311.4968,53.4459, 0.01, -2075.9697,1422.3066,10.5946},
    {-2053.8140,1343.1326,10.4069, 0.01, -2075.9697,1422.3066,10.5946},
    {-2042.5265,1443.1073,30.2435, 0.04, -2075.9697,1422.3066,10.5946},
    {-2093.3276,1370.9908,6.5817, 0.01, -2075.9697,1422.3066,10.5946},
    {-2064.6157,1389.7963,7.6273, 0.009, -2075.9697,1422.3066,10.5946},
    {-2089.9099,1342.4470,26.3686, 0.01, -2075.9697,1422.3066,10.5946}, // 44 - Detectives

    {742.4728,-1387.9087,13.6842, 0.01, 740.4363,-1347.4310,13.5120},
    {585.3113,-1327.5784,204.9761, 0.01, 740.4363,-1347.4310,13.5120},
    {773.4609,-1334.0858,13.5413, 0.04, 740.4363,-1347.4310,13.5120},
    {776.6302,-1398.9143,19.0551, 0.01, 740.4363,-1347.4310,13.5120},
    {599.7180,-1375.1670,42.9928, 0.04, 740.4363,-1347.4310,13.5120},
    {744.0721,-1286.2228,42.9928, 0.01, 740.4363,-1347.4310,13.5120},
    {756.7815,-1402.7537,32.0593, 0.01, 740.4363,-1347.4310,13.5120}, // 51 - CNN

    {1228.2329,2025.8304,17.0191, 0.01, 1228.2788,1954.7325,6.7344}, // Pruebas Race
    {1237.0281,1843.9073,6.0734, 0.01, 1228.2788,1954.7325,6.7344},
    {1258.5016,1956.2878,11.5732, 0.01, 1228.2788,1954.7325,6.7344},
    {1223.6178,1958.3763,6.7344, 0.01, 1228.2788,1954.7325,6.7344},
    {1231.4329,1964.6942,9.7664, 0.01, 1228.2788,1954.7325,6.7344},
    {1216.5686,1931.3027,21.1213, 0.01, 1228.2788,1954.7325,6.7344} // 57 - Pruebas
};
SetCameraPresent(playerid, 29, 0, CamerasPresent[29][0], CamerasPresent[29][1], CamerasPresent[29][2], 29, 32);

(los cameras present me dan las cordenadas x y z para mover la camara)!

Solo nesesito que me ayuden a entender porque el [29] y [0], ya que estube viendo tutoriales pero en ninguno muestran por lo menos algo paresido ! y no logro entender bien !

Esto no es para usar, es solo que lo vi y me llamo la atencion y lo quiero comensar a usar y poreso quiero entenderlo para usarlo en mis futuros sistemas !

Desde ya muchas gracias !
Reply
#2

new Float:CamerasPresent[57][7] =
{
{0,1,2, 3, 4,5,[COLOR="Red"]6COLOR]}, // 1
{0,1,2, 3, 4,5,6}, // 2
//etc...
{0,1,2, 3, 4,5,6}, //26
Reply
#3

Quote:
Originally Posted by ForTrezZ
Посмотреть сообщение
Solo nesesito que me ayuden a entender porque el [29] y [0], ya que estube viendo tutoriales pero en ninguno muestran por lo menos algo paresido ! y no logro entender bien !
Una explicaciуn grбfica:



Entiendes? Si no, aquн una explicaciуn:

Tenemos 2 lнneas, que serнan ID 0 e ID 1.
Esas lнneas tienen 6 valores adentro, que serнan floats (Por lo menos en este caso).
Esos valores se almacenan en las lнneas, digamos que en "hileras", hilera 0, hilera 2... hasta la hilera 6.

Entonces, como muestra la imagen, tenemos 7 valores en las lнneas 0 y 1.

pawn Код:
new Float:Posiciones[2][7] =
{
                       //0       , 1        , 2     , 3    , 4       , 5        , 6     .
    /* Cбmara ID 0 */   {148.2775,-1940.7916,41.1581, 0.001, 154.1154,-1952.1362,51.3438},
    /* Cбmara ID 1 */   {158.4620,-1952.5027,60.7858, 0.001, 154.1154,-1952.1362,51.3438}
};
Y un ejemplo aquн:

pawn Код:
new Float:Posiciones[2][7] =
{
                       //0       , 1        , 2     , 3    , 4       , 5        , 6     .
    /* Cбmara ID 0 */   {148.2775,-1940.7916,41.1581, 0.001, 154.1154,-1952.1362,51.3438},
    /* Cбmara ID 1 */   {158.4620,-1952.5027,60.7858, 0.001, 154.1154,-1952.1362,51.3438}
};
   
printf("%f, %f, %f, %f, %f, %f\n", Posiciones[0][0], Posiciones[0][1], Posiciones[0][2], Posiciones[0][3], Posiciones[0][4], Posiciones[0][5], Posiciones[0][6]);

printf("%f, %f, %f, %f, %f, %f", Posiciones[1][0], Posiciones[1][1], Posiciones[1][2], Posiciones[1][3], Posiciones[1][4], Posiciones[1][5], Posiciones[1][6]);
El resultado saldrнa en la consola:

(Click para alargar)

Espero que sea lo que querнas y que lo hayas entendido xD
Reply
#4

Edugta, la verdad me sirvio demaciado ! Muchisimas gracias ! Una mejor explicacion sinceramente no encontre !

+rep
Reply
#5

Yo no entendн el mensaje de Edugta.

Te explico a mi manera.


pawn Код:
//> Creaciуn de la variable 2D
new variable[3][5] =
{
        {0,        1,        2,        3,        4}, //> celda variable[0]
        {5,        6,        7,        8,        9}, //> celda variable[1]
        {10,      11,      12,       13,     14}, //> celda variable[2]

/*
        3 celdas principales, cada una de estas tendrб 5 espacios dentro
*/

};

printf("impresiуn: %d", variable[1][3]); // Esto imprimirнa 8
Por lo que es lo mismo decir.

pawn Код:
new var[5][3];
Que decir.

pawn Код:
new var1[3];
new var2[3];
new var3[3];
new var4[3];
new var5[3];
Con la diferencia que en la primer forma (array 2d) se puede llamar un valor dinamicamente de la primer dimenciуn. Me refiero a que es posible hacer algo como.

pawn Код:
new var[5][3];
new celda = 4;

var[celda][0] = 9;
En cambio de la otra forma (con muchas variables) no es posible hacerlo tan dinбmico. Ademбs de que usando arrays es mas rбpido.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)