Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: khrt17 en 12 Octubre 2010, 17:56 pm



Título: ejercicio en c
Publicado por: khrt17 en 12 Octubre 2010, 17:56 pm
Hola me presento soy Nuevo y la verdad me gusto esta web por que me enseña cosas de las que estoy estudiando. Pero bueno vamos al grano este es el ejercicio:

dada una Mz(Matriz):

A00--A01--A02--A03--A04
A10--A11--A12--A13--A14
A20--A21--A22--A23--A24
A30--A31--A32--A33--A34
A40--A41--A42--A43--A44

Insertar en un vector ordenado de la siguiente manera:

A04---A03---A14---A24---A13---A02---A01---A12---A23---A34---A44---A33---A22---A11---A00---A10---A21---A32---A43---A42---A31---A20---A30---A41---A40

Bueno lo que en verdad quiero no es que me lo hagan ni nada por el estilo (el que lo haga que se lo quede jajajjaja) solo necesito es que me lo expliquen de la manera mas sencilla (realmente lo que se me dificulta es el recorrido de la Mz), y la verdad es que yo apenas estoy comenzando en esto (mis estudios de Ing. de Sistemas en la U).

gracias por la atencion prestada y si lo logro hacer lo monto si no pss.... que lo haga otro jajajajajajajajaj


Título: Re: ejercicio en c
Publicado por: iCore en 12 Octubre 2010, 18:35 pm
Hola, leete las reglas del subforo (http://foro.elhacker.net/programacion_cc/reglas_del_subforo-t251603.0.html).

Regards;


Título: Re: ejercicio en c
Publicado por: Shell Root en 12 Octubre 2010, 18:41 pm
Pues aquí con un poco de tiempo. Primero miremos las estructuras básicas del printeo de datos,
Código
  1. M[0][4]
  2. M[0][3] + M[1][4]
  3. M[2][4] + M[1][3] + M[0][2]
  4. M[0][1] + M[1][2] + M[2][3] + M[3][4]
  5. M[4][4] + M[3][3] + M[2][2] + M[1][1] + M[0][0]
  6. M[1][0] + M[2][1] + M[3][2] + M[4][3]
  7. M[4][2] + M[3][1] + M[2][0]
  8. M[3][0] + M[4][1]
  9. M[4][0]

Estás son las secuencias para mostrar los datos en el orden pre-definido. Pero si mirais los índices de la matriz, concuerdan con los datos de la matriz -Suponiendo de que los datos sean los sub-indices que pusisteis-. Es correcto lo que estoy diciendo?


Título: Re: ejercicio en c
Publicado por: ace332 en 13 Octubre 2010, 01:40 am
Se tiene que realizar el siguiente recorrido en la matriz:

Código:
A00  A01--A02  A03--A04
|  \    \    \    \
A10  A11  A12  A13  A14
   \    \    \   \  |
A20  A21  A22  A23  A24
|  \    \    \    \
A30  A31  A32  A33  A34
   \    \    \    \  |
A40--A41  A42--A43  A44

el código debería quedar algo asi:

Código
  1. int i=0,j=4,z=1;
  2. int vector[25];
  3.  
  4. vector[0]=A[0][4];
  5. while(!(i==4&&j==0))
  6. {
  7.  /* aqui se calculan los valores siguientes de i y j */
  8.  /* ... */
  9.  
  10.  vector[z++]=A[i][j];
  11. }
  12.  
Saludos