sobre c y los arrays

Todo aquello que no está relacionado con Gemix Studio ni con la programación DIV en general.

sobre c y los arrays

Postby shao » Wed Oct 14, 2009 11:53 pm

hola,estoy aprendiendo c en un curso y he llegado al tema de representar arrays multidimiensionales mediante punteros

el tema de representar arrays unidimensionales mediante punteros lo tengo claro.
la duda llega en si deberia aprender a representar los multidimiensionales con punteros.
segun me ha dicho mi mentor es mas complicado y no es necesario aprenderlo ya que para representarlos es mas facil el modo convencional (num[6][6][5])

me vendria bien estudiarlo para aplicarlo luego a la programacion con gemix o como dice mi tutor no es necesario?
User avatar
shao
 
Posts: 6034
Joined: Wed Jun 17, 2009 4:51 pm

Re: sobre c y los arrays

Postby CicTec » Thu Oct 15, 2009 12:09 am

hola shao,

Pues si, lo que te dijo tu tutor es correcto, no los usa casi nadie, porque aparte de ser mas complicados de usar, resultan tambien mas de leer, lo usual es usar la forma mediande array clasica, con la nueva beta de Gemix utilizas el array de la misma forma mediante la nueva opcion cstyle_matrix:
Code: Select all
compiler_options _use_cstyle_matrix;
program test_arrays;
global
   int num[10][10][10]; // array de 10x10x10

begin
  num[6][6][5] = 10;
end

La forma con puntero no te la recomiendo es mucho mas compleja de entender y programar :)
User avatar
CicTec
 
Posts: 16554
Joined: Thu Jul 31, 2008 10:18 pm

Re: sobre c y los arrays

Postby kozka » Thu Oct 15, 2009 12:11 am

eso es un poco trabalenguas tronco xD..nose
a[5];=5 int a los que poder acceder mentiante a[1]=patata a[2]=pataton

a[5][5]; a[1][1]=patata a[1][2]=pataton

nose
caracteristicas_enemigo[3][3]; // [x][1]=vidas [x][2]=velocidad [x][3]=yokese
caracteristicas_enemigo[1][1]=10; //el enemigo numero 1 tendra 10 de vida

caracteristicas_enemigo[1][1]--; //le quitamos una vida al tronko xd

espero te sirva de algo :P :? :blind:
User avatar
kozka
 
Posts: 2111
Joined: Sun Feb 01, 2009 9:36 pm

Re: sobre c y los arrays

Postby shao » Thu Oct 15, 2009 12:15 am

tio,d.p.m.

por que la verdad me parecia un engorro el tema.
me agrada que exista la funcion,a mi me sera mas facil representarlos asi.
gracias
User avatar
shao
 
Posts: 6034
Joined: Wed Jun 17, 2009 4:51 pm

Re: sobre c y los arrays

Postby CicTec » Thu Oct 15, 2009 12:35 am

shao wrote:tio,d.p.m.

por que la verdad me parecia un engorro el tema.
me agrada que exista la funcion,a mi me sera mas facil representarlos asi.
gracias


jeje me alegra, te lo pongo solo por curiosidad comparativa, las versiones con array y con puntero:
Code: Select all
int array[10][10][10];
int *ptrarray = array;

array[6][6][5] = 10; // version array clasica con indices
*(*(*(ptrarray + 6) + 6) + 5) = 10; // version array por medio de punteros

Creo que no haya duda de cual sea mas sencillo y facil de implementar y entender ;)
User avatar
CicTec
 
Posts: 16554
Joined: Thu Jul 31, 2008 10:18 pm

Re: sobre c y los arrays

Postby GINO » Thu Oct 15, 2009 12:40 pm

kozka: aunque declares el array al estilo C como [10][10][10], osea, indicando el numero de elementos de cada dimension, sigue siendo Zero based, es decir, accedes a los elementos con los indices 0 .. 9, como se hace en C.
User avatar
GINO
 
Posts: 2823
Joined: Thu Jul 31, 2008 10:25 pm

Re: sobre c y los arrays

Postby kozka » Thu Oct 15, 2009 10:26 pm

patata[10] ---- ya yase que empieza por el 0 .... pero entonces que hay 11 XD oke?-..nose supongo que cuando lo halla usao me daria cuenta
de todas formas estoy mu fuamo
User avatar
kozka
 
Posts: 2111
Joined: Sun Feb 01, 2009 9:36 pm

Re: sobre c y los arrays

Postby xdios » Thu Oct 15, 2009 10:52 pm

Tios no se de que leches estais hablando pero os apoyo... :y: :D

A ver si este año que me he matriculao en programacion me pongo al dia en ciertas terminologias que se me escapan.
[RETO]: Concurso navideño - [JUEGO]: La Fábrica de Regalos
User avatar
xdios
 
Posts: 188
Joined: Thu May 28, 2009 12:41 pm

Re: sobre c y los arrays

Postby TYCO » Thu Oct 15, 2009 11:08 pm

kozka wrote:patata[10] ---- ya yase que empieza por el 0 .... pero entonces que hay 11 XD oke?-..nose supongo que cuando lo halla usao me daria cuenta
de todas formas estoy mu fuamo


patata[10] directamente tienes desde... patata[0] hasta patata[10].

Si indicas que sea como en C... tendrías:
patata[10] desde... patata[0] hasta patata[9].
tienes que indicar al principio: compiler_options _use_cstyle_matrix; antes del PROGRAM.
Todo Modo Gráfico tiene por detrás una Línea de Comandos.

Proyecto: SnowCraft Remake (100%).
Proyecto: Bomb a Bomb Remake (100%).
Proyecto: Rally Mortal (87%).

[RETO]: 20lineas - [JUEGO]: eLaberinto[CONCURSO]: EL JUEGO DEL VERANO 2011 - [JUEGO]: PlayaBall
User avatar
TYCO
 
Posts: 3584
Joined: Tue Sep 02, 2008 7:38 pm


Return to Offtopic

Who is online

Users browsing this forum: No registered users and 21 guests