elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Matriz
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Matriz  (Leído 1,963 veces)
Principios en C

Desconectado Desconectado

Mensajes: 34


Ver Perfil
Matriz
« en: 25 Septiembre 2011, 20:46 pm »

Hola...

De nuevo me tienen aqui con otra duda...
Tenia que crear una matriz en donde se orden las filas de mayor a menor para una de 2x3 y este es mi codigo:
Código
  1. #include<stdio.h>
  2. #include<conio.h>
  3. int mat[3][4],i,j,vec1[4],vec2[4],temp,p,q;
  4. main()
  5. {
  6.      printf("Trabajo practico 1, ejercicio 8\n");
  7.      printf("\nDada una matriz 2x3 de elementos enteros, ordenar todos los");
  8.      printf("\nelementos de la matriz(de mayor a menor), comenzando por la");
  9.      printf(" primera fila\n\n\n");
  10.  
  11.      for(i=1;i<=2;i++){
  12.                       for(j=1;j<=3;j++){
  13.                                        printf("Elemento (%d,%d): ",i,j);
  14.                                        scanf("%d",&mat[i][j]);
  15.                                        }
  16.                       }  
  17.  
  18.  
  19.  
  20. for(j=1;j<=3;j++){                                
  21.                 vec1[j]=mat[1][j];
  22.                           }
  23.                 printf("\n\nElementos de la fila 1:   ");
  24.      for(j=1;j<=3;j++){
  25.                       printf("%d  ",vec1[j]);  
  26.                          }
  27.  
  28.  
  29. for(i=1;i<=3;i++){
  30.                  for(j=i+1;j<=3;j++){
  31.                                       if(vec1[i]<vec1[j]){
  32.                                        temp=vec1[i];
  33.                                         vec1[i]=vec1[j];
  34.                                          vec1[j]=temp;
  35.                                         }
  36.                                         }    
  37.                                         }
  38.  
  39.  
  40.  
  41. for(j=1;j<=3;j++){                                
  42.                 vec2[j]=mat[2][j];
  43.                            }
  44.                 printf("\nElementos de la fila 2:   ");
  45.      for(j=1;j<=3;j++){
  46.                       printf("%d  ",vec2[j]);
  47.                                  }  
  48. printf("");
  49.  
  50.  
  51.  
  52. for(i=1;i<=3;i++){
  53.                  for(j=i+1;j<=3;j++){
  54.                                       if(vec2[i]<vec2[j]){
  55.                                        temp=vec2[i];
  56.                                         vec2[i]=vec2[j];
  57.                                          vec2[j]=temp;
  58.                                         }
  59.                                         }    
  60.                                         }
  61.  
  62. printf("\n\n\n");
  63. printf("Elementos ordenados da la fila 1:  ");
  64. for(i=1;i<=3;i++){
  65.  
  66.                  printf("%d  ",vec1[i]);
  67.                            }
  68.                   printf("\n");
  69. printf("Elementos ordenados de la fila 2:  ");
  70. for(i=1;i<=3;i++){
  71.  
  72.                  printf("%d  ",vec2[i]);}
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.     getch();
  80.     return(0);
  81. }

Pero ahora me pidieron que creara un matriz de nxm y que ordenara tanto sus filas como sus columnas de mayor a menor, supongo ue solo tengo que generalizar paro no se como.. ya que soy nuevo en esto y la verdad sacar el code anterior me costo mucho, ojala me ayuden


« Última modificación: 25 Septiembre 2011, 21:00 pm por Principios en C » En línea

LearningSpanishProgrammer

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: Matriz
« Respuesta #1 en: 25 Septiembre 2011, 20:54 pm »

Por favor, guión correctamente. (indent correctly the code)
No se puede entender esto.

Ejemplo:
Código:
for (i=1; i <= 2; i++)
{
    for(j=1; j <= 3; j++)
   {
        printf("Elemento (%d,%d): ", i, j);
        scanf("%d", &mat[i][j]);
    }
}  

Cuando se esta empezando, es bueno hacer esto..


« Última modificación: 25 Septiembre 2011, 21:02 pm por LearningSpanishProgrammer » En línea

Estoy aprendiendo español, y tu estas aprendiendo programación
.mokk.

Desconectado Desconectado

Mensajes: 177



Ver Perfil
Re: Matriz
« Respuesta #2 en: 25 Septiembre 2011, 22:23 pm »

Bueno solo ya tienes los tamaños de la fila por columna ocupariamos otra matriz asi una igual a la otra organizarla una por filas y la otra por columnas, y es casi el mismo procedimiento solo Debes cambiar algunas partes al hacer los cambios.

Y tambien como te comentaron deberias tener un poco mejor organizado el codigo jeje

Aqui dejo como yo lo hice

Código
  1. #include <cstdlib>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int main(int argc, char *argv[])
  7. {
  8.  
  9.    int fila, columna;
  10.  
  11.    //Preguntamos la cantidad de Filas & Columnas de la Matriz
  12.    printf("Filas: ");
  13.    scanf("%d", &fila);
  14.    printf("Columnas: ");
  15.    scanf("%d", &columna);
  16.  
  17.    //Creamos 2 matrices del mismo tamaño, 1 para organizarla mediante filas y la otra por columnas
  18.    int matriz[fila][columna];
  19.    int matriz0[fila][columna];
  20.  
  21.    for(int i = 0; i < fila; i++)
  22.    {
  23.            for(int j = 0; j < columna; j++)
  24.            {
  25.                    //Pedimos los datos y los ingresamos a ambas matrices
  26.                    printf("Elemento (%d,%d): ", i, j);
  27.                    scanf("%d", &matriz[i][j]);
  28.                    matriz0[i][j] = matriz[i][j];
  29.            }
  30.    }
  31.  
  32.    //Mostramos los datos por Fila
  33.    for(int i = 0; i < fila; i++)
  34.    {
  35.            printf("\nElemntos Fila %d: ", (i+1));
  36.            for(int j = 0; j < columna; j++)
  37.            {
  38.                    printf("%d ", matriz[i][j]);
  39.            }
  40.    }
  41.  
  42.    //Recorremos la matriz para organizarla por filas
  43.    int temp;
  44.    for(int i = 0; i < fila; i++)
  45.    {
  46.            for(int j = 0; j < columna; j++)
  47.            {
  48.                    for(int x = 0; x < columna; x++)
  49.                    {
  50.                            if(matriz[i][j] < matriz[i][x])
  51.                            {
  52.                                            temp = matriz[i][j];
  53.                                            matriz[i][j] = matriz[i][x];
  54.                                            matriz[i][x] = temp;
  55.                            }
  56.                    }
  57.            }
  58.    }
  59.  
  60.    printf("\n\n");
  61.  
  62.    //Mostramos las filas ya organizadas
  63.    for(int i = 0; i < fila; i++)
  64.    {
  65.            printf("\nElementos Fila %d: ", (i+1));
  66.            for(int j = 0; j < columna; j++)
  67.            {
  68.                    printf("%d ", matriz[i][j]);
  69.            }
  70.    }
  71.  
  72.    //Mostramos los datos por columnas                
  73.    for(int j = 0; j < columna; j++)
  74.    {
  75.            printf("\nColumna %d: ", (j+1));
  76.            for(int i = 0; i < fila; i++)
  77.            {
  78.                    printf("%d ", matriz0[i][j]);
  79.            }
  80.    }
  81.  
  82.    //Organizamos los datos de las columnas
  83.    for(int j = 0; j < columna; j++)
  84.    {
  85.            for(int i = 0; i < fila; i++)
  86.            {
  87.                    for(int x = 0; x < fila; x++)
  88.                    {
  89.                            if(matriz0[i][j] < matriz0[x][j])
  90.                            {
  91.                                             temp = matriz0[i][j];
  92.                                             matriz0[i][j] = matriz0[x][j];
  93.                                             matriz0[x][j] = temp;
  94.                            }
  95.                    }
  96.            }
  97.    }
  98.  
  99.    printf("\n\n");
  100.    //Mostramos los datos por columnas ya organizadas
  101.    for(int j = 0; j < columna; j++)
  102.    {
  103.            printf("\nColumna %d: ", (j+1));
  104.            for(int i = 0; i < fila; i++)
  105.            {
  106.                    printf("%d ", matriz0[i][j]);
  107.            }
  108.    }
  109.  
  110.  
  111.    cin.get();cin.get();
  112. }
  113.  
En línea

Principios en C

Desconectado Desconectado

Mensajes: 34


Ver Perfil
Re: Matriz
« Respuesta #3 en: 25 Septiembre 2011, 22:41 pm »

OK, ya lo probe, modifique pequeñas cositas para que me compilara... tal vez es por el IDE que uso... pero MUCHAS GRACIAS!!!

Me ayudaste bastante...

Imaginate si el anterior me costo trabajo... no imaginas como estaba sufriendo con esto...
jejeje...

Pero gracias de nuevo!!!
« Última modificación: 25 Septiembre 2011, 22:50 pm por Principios en C » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
matriz c#
.NET (C#, VB.NET, ASP)
shin_akuma 2 10,874 Último mensaje 30 Junio 2008, 22:06 pm
por shin_akuma
Duda - Buscar si existe una matriz dentro de otra matriz
Programación Visual Basic
EddyW 2 5,842 Último mensaje 14 Agosto 2010, 06:18 am
por EddyW
Matriz en C++
Programación C/C++
delirio 2 20,635 Último mensaje 27 Noviembre 2010, 22:48 pm
por darkvidhack
Matriz Dentro de otra matriz
Programación Visual Basic
moba741120 3 6,762 Último mensaje 13 Abril 2011, 18:29 pm
por raul338
matriz « 1 2 »
Programación C/C++
;c1v!c 15 5,128 Último mensaje 19 Agosto 2011, 17:35 pm
por rir3760
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines