Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Blazjker en 5 Marzo 2019, 21:02 pm



Título: Ayuda para interpretar esta consigna .
Publicado por: Blazjker en 5 Marzo 2019, 21:02 pm
Buenas tardes, tengo varias dudas con respecto a la consigna que mostraré a continuación. Desde ya solo quiero que me puedan orientar un poco.

https://ibb.co/T0tRbHB

.:Dudas:.

* Promedio de la totalidad de la matriz: Una vez que defino el tamaño que tendrá esta matriz, debo proceder a digitar los valores correspondientes a
  las filas,columnas y profundidad .Una vez hecho esto  ¿ debo sacar el promedio de cada sector ?

* Submatriz de la mitad del tamaño: en esta sección debo reducir a la mitad los tamaños que elegí anteriormente (con respecto a la TOTALIDAD de la matriz)
  si es así, tengo que volver a digitar otros valores para "esta nueva" matriz ? (con el fin de sacar el promedio nuevamente.)

* ... y así sucesivamente hasta alcanzar el tamaño de un solo elemento : esto significa que debo lograr reducir LA MATRIZ a este tamaño [filas = 1] [columnas = 1] [profundidad = 1] ?




Título: Re: Ayuda para interpretar esta consigna .
Publicado por: K-YreX en 5 Marzo 2019, 21:56 pm
Citar
Promedio de la totalidad de la matriz: Una vez que defino el tamaño que tendrá esta matriz, debo proceder a digitar los valores correspondientes a las filas,columnas y profundidad .Una vez hecho esto  ¿ debo sacar el promedio de cada sector ?
En este punto debes crear una matriz de base * altura * profundidad e introducir valores a cada celda (ya sea manualmente o de forma aleatoria). Con la condición de [base <= 20] [altura <= 20] [profundidad <= 20].
No estoy muy seguro si tienes que calcular el promedio; en tal caso sería sumar el valor de cada celda entre el número de celdas.

Citar
Submatriz de la mitad del tamaño: en esta sección debo reducir a la mitad los tamaños que elegí anteriormente (con respecto a la TOTALIDAD de la matriz) si es así, tengo que volver a digitar otros valores para "esta nueva" matriz ? (con el fin de sacar el promedio nuevamente.)
Aquí tienes que coger la matriz anterior y hacerla más pequeña pero la misma, es decir; con los mismos valores que tenía antes.
Y en el caso de tener que calcular el promedio, pues igual que en el caso anterior.
Te pongo un ejemplo en 2 dimensiones para que lo veas:
Código:
MATRIZ 1
[ a1  a2  a3  a4  a5  a6  a7 ]
[ b1  b2  b3  b4  b5  b6  b7 ]
[ c1  c2  c3  c4  c5  c6  c7 ]
[ d1  d2  d3  d4  d5  d6  d7 ]
[ e1  e2  e3  e4  e5  e6  e7 ]
[ f1  f2  f3  f4  f5  f6  f7 ]
[ g1  g2  g3  g4  g5  g6  g7 ]

MATRIZ 2
[ c3  c4  c5 ]
[ d3  d4  d5 ]
[ e3  e4  e5 ]

MATRIZ 3
[ d4 ]

Citar
... y así sucesivamente hasta alcanzar el tamaño de un solo elemento : esto significa que debo lograr reducir LA MATRIZ a este tamaño [filas = 1] [columnas = 1] [profundidad = 1] 
Como has visto en el ejemplo anterior, sí. Tienes que ir reduciendo hasta que sólo quede el elemento más central de la matriz. Cuyo promedio en caso de tener que calcularlo será el propio valor. Suerte :-X


Título: Re: Ayuda para interpretar esta consigna .
Publicado por: Blazjker en 5 Marzo 2019, 22:10 pm
Desde ya muchísimas gracias, cuanto te refieres a "base,altura" haces referencia a lo que serían "filas y columnas" ? perdón si la pregunta es estúpida, pero me entró la duda jaja


Título: Re: Ayuda para interpretar esta consigna .
Publicado por: K-YreX en 5 Marzo 2019, 22:13 pm
Sí, exacto a eso me refiero  :xD :-X


Título: Re: Ayuda para interpretar esta consigna .
Publicado por: Blazjker en 5 Marzo 2019, 23:20 pm
Tengo otra duda :P, que función tiene dentro de la matriz la "profundidad" ,por ejemplo a la hora de solicitar que ingresemos el tamaño que tendrá, cuando quiera mostrar los "números" que le ingresé a la matriz en su totalidad, debo mostrar también los de "profundidad" ?


Código
  1. int  matriz [20][20][20];
  2.  
  3. for (int i=0; i<filas; i++) {
  4. for (int j=0; j<columnas; j++) {
  5. for (int k=0; k<profundidad; k++) {
  6.  
  7. cout<<"Digite un valor: "; cin>>matriz[i][j][k];
  8.  
  9. }
  10. }
  11. }
  12.  
  13. for (int i=0; i<filas; i++) {
  14. for (int j=0; j<columnas; j++) {
  15. for (int k=0; k<profundidad; k++) {
  16.  
  17. cout<<matriz[i][j][k] << " ";
  18.  
  19. }
  20. }
  21. }
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  


Título: Re: Ayuda para interpretar esta consigna .
Publicado por: K-YreX en 5 Marzo 2019, 23:30 pm
Lo más sencillo sería no mostrar la matriz. Determina tu los valores para poder comprobar si los resultados son correctos sin tener que mostrarla. Y simplemente muestra el promedio en cada caso.

La otra forma que se me ocurre para que quede más o menos bien (dentro de nuestras posibilidades) es que vayas mostrando cada capa de la matriz como si fuera de dos dimensiones. No sé si me explico, algo así:
Código:
Profundidad 0:
1  1
1  1

Profundidad 1:
2  2
2  2

Profundidad 2:
3  3
3  3
Así es como si fueramos viendo la cara frontal del cubo y la vamos eliminando para ver la siguiente... Hasta llegar a la última. Elige la opción que más te convenza o que mejor se adapte. Suerte :-X