Autor Tema: - MATRICES - C CCS -  (Leído 3658 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
- MATRICES - C CCS -
« en: 08 de Mayo de 2009, 07:25:17 »
hola Amigos

En CCS existen las Matrices, como tales? :shock:,se pueden crear matrices de más de 2 dimensiones?
como llama la ayuda de ccs a las matrices...?como se se definen sengún sea un tipo de dato u otro tipo de dato?

Un saludo.

Desconectado QIQE

  • PIC18
  • ****
  • Mensajes: 335
Re: - MATRICES - C CCS -
« Respuesta #1 en: 08 de Mayo de 2009, 09:17:01 »
en la parte de ayuda de data definitions puedes encontrar esto

A declaration specifies a type qualifier and a type specifier, and is followed by a list of one or more variables of that type.

For e.g.:

int a,b,c,d;

mybit e,f;

mybyte g[3][2];

char *h;

colors j;

struct data_record data[10];

static int i;

extern long j;

 

Variables can also be declared along with the definitions of the special types.

For eg:

enum colors{red, green=2,blue}i,j,k;  // colors is the enum type and i,j,k are variables of that type

asi que por lo que se ve si que se pueden hacer de almenos dos dimensiones solo es seguir probando...
un saludo
Muchas gracias por vuestro tiempo.

Saludos desde valencia!!!

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: - MATRICES - C CCS -
« Respuesta #2 en: 08 de Mayo de 2009, 18:38:31 »
hola QIQE

el problemilla viene cuando quieres crear una matriz de palabras de mas de 2 diensiones y si quires meterlo todo en una función para usarlo varias veces,
el compilador de CCS te tira un monton de errores.

La información es escasa, comose buscan eso en ccs.
Amigo QiQE, te agradezco tu respuesta ,si sabes de alguna informacion más de matrices en ccs , te agradecerias que compartieras conmigo.

Un saludo amigo.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: - MATRICES - C CCS -
« Respuesta #3 en: 09 de Mayo de 2009, 01:13:27 »
Hola.

Podrias poner el codigo de lo que estas haciendo?
El papel lo aguanta todo

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: - MATRICES - C CCS -
« Respuesta #4 en: 09 de Mayo de 2009, 13:24:51 »
Hola Amigos

estoy genrando un menu por matrices de dimension multiple, la verdad es muy dificil de representar, y de inicializar casi es tanto o igual de dificil.

menu1.2.3.4

1 2 3 4 5
elegimos del menu 1 la opción 2
dentro del 2 tenemos otros tantos 1 2 3 4 5
de estos elijo el 3
pero dentro del 3 tenemos otros tantos 1 2 3 4 5
de esos elijo el 4

haciendo un codigo en una matriz multiple,

menu[a][c][d][e];

menu1.2.3.4

menu[1][2][3][4];

menu principal, opcion1:submenu

menu[a][b][c][d]=
{{{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}}},

{{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}}},

{{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}}},

{{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}}},

{{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}},
{{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"},{"1","2","3","4","5"}}}}


a->1 2 3 4 5
   b->1 2 3 4 5
         c->1 2 3 4 5
                 d->1 2 3 4 5








Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: - MATRICES - C CCS -
« Respuesta #5 en: 09 de Mayo de 2009, 14:27:18 »
Hola.

Por lo que veo es para seleccionar e identificar las opciones del menu unicamente ... no seria mejor y mas organizado hacerlo con estructuras?
El papel lo aguanta todo

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: - MATRICES - C CCS -
« Respuesta #6 en: 09 de Mayo de 2009, 15:33:44 »
HOLA ML0

Este menu lo he intentado de muchas formas, posiblemente solo me quede esta ultima por probar, en todos los metodos anteriores encontre un fallo que me impedia el seguir por ese camino.

Tu que me recomiendas.

La idea la tengo clara el problema es el llevarlo a cabo.

Una ayudita!!!.


« Última modificación: 09 de Mayo de 2009, 15:40:35 por pajaro »

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: - MATRICES - C CCS -
« Respuesta #7 en: 09 de Mayo de 2009, 17:13:56 »
Hola.

Creo que es el mismo ejemplo que esta en el otro hilo cierto?

Como te dije, yo creo que seria mejor mediante estructuras.
El papel lo aguanta todo

Desconectado QIQE

  • PIC18
  • ****
  • Mensajes: 335
Re: - MATRICES - C CCS -
« Respuesta #8 en: 09 de Mayo de 2009, 18:32:10 »
has probado con switch?? y una variable que incrementas?? por ejemplo menu uno->1 menuados-> 2 y asi sucesibamente luego submenu1.1 ->la variable valdria 11, asi te complicas menos.
Muchas gracias por vuestro tiempo.

Saludos desde valencia!!!

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: - MATRICES - C CCS -
« Respuesta #9 en: 09 de Mayo de 2009, 21:58:46 »
Hola amigos

QIQE
eL switch por supuesto que lo tendre que usar para las elecciones, pero esto que puse es para mostrarlo en el LCD.

MLO
es uso de estructuras,todos son el mismo dato.
como lo harias tu? dame una idea..


sigo pensando en ello.

Un saludo.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: - MATRICES - C CCS -
« Respuesta #10 en: 09 de Mayo de 2009, 22:45:26 »
Pues se me ocurre asi:

Para los menus del nivel mas bajo se asignan bits en la estructura, y para los otros se va haciendo estructuras de las estructuras que tienen esos menus de nivel bajo.

El papel lo aguanta todo

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: - MATRICES - C CCS -
« Respuesta #11 en: 10 de Mayo de 2009, 05:49:48 »
Hola

imagina un menu de 5 opciones:
1 2 3 4 5

y cuatro niveles a mostrar.

1   2   3   4   5
|
------------------->1   2   3   4   5
                               |
                               ------------------->1   2   3   4   5
                                                                   |
                                                                   ------------------->1   2   3   4   5
                                                                                                            |
                                                                                                            ------------------->llama función

en este caso hemos elegido:

menu 1.2.3.4

esto seria  ( ( ( (1   2   3   4   5) x 5 ) x 5 ) x 5 )

sigo pensando en hacer conmatriz multiple

menu[a][c][d]={} //
lo malo de este metodo es a inicializacion.


todos lo mentos mpreados anterior mente tubieron un fallo este puede que sea este.

De todas formas estoy habierto a sugerencias, dos cabezas piensan mejor que una.





Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: - MATRICES - C CCS -
« Respuesta #12 en: 10 de Mayo de 2009, 11:51:28 »
Hola.

No se si el CCS aguante tantas dimensiones, recuerda que el espacion el micro es limitado.
El papel lo aguanta todo

Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: - MATRICES - C CCS -
« Respuesta #13 en: 11 de Mayo de 2009, 18:30:36 »
hola ML0

se podria calcular de alguna forma el tamaño de varibles  o el tamaño que me puede almacenar la rom del micro..

Un saludo.

Gracias por tu consejo.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: - MATRICES - C CCS -
« Respuesta #14 en: 11 de Mayo de 2009, 22:15:41 »
Hola.

Cada letra te ocupa 1 byte. Uno puede meter tantas variables como se quiera, la capacidad maxima la da el dataasheet. Hay que tener en cuenta que ademas del manejo del menu, debes dejar memoria para las demas variables de tu programa.
El papel lo aguanta todo


 

anything