elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 22:31  


Tema destacado: [Overclocking] Récords de overclock del foro

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

Desconectado Desconectado

Mensajes: 34


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

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
#include<stdio.h>
#include<conio.h>
int mat[3][4],i,j,vec1[4],vec2[4],temp,p,q;
main()
{
     printf("Trabajo practico 1, ejercicio 8\n");
     printf("\nDada una matriz 2x3 de elementos enteros, ordenar todos los");
     printf("\nelementos de la matriz(de mayor a menor), comenzando por la");
     printf(" primera fila\n\n\n");
 
     for(i=1;i<=2;i++){
                      for(j=1;j<=3;j++){
                                       printf("Elemento (%d,%d): ",i,j);
                                       scanf("%d",&mat[i][j]);
                                       }
                      }  
 
 
 
for(j=1;j<=3;j++){                                
                vec1[j]=mat[1][j];
                          }
                printf("\n\nElementos de la fila 1:   ");
     for(j=1;j<=3;j++){
                      printf("%d  ",vec1[j]);  
                         }
 
 
for(i=1;i<=3;i++){
                 for(j=i+1;j<=3;j++){
                                      if(vec1[i]<vec1[j]){
                                       temp=vec1[i];
                                        vec1[i]=vec1[j];
                                         vec1[j]=temp;
                                        }
                                        }    
                                        }
 
 
 
for(j=1;j<=3;j++){                                
                vec2[j]=mat[2][j];
                           }
                printf("\nElementos de la fila 2:   ");
     for(j=1;j<=3;j++){
                      printf("%d  ",vec2[j]);
                                 }  
printf("");
 
 
 
for(i=1;i<=3;i++){
                 for(j=i+1;j<=3;j++){
                                      if(vec2[i]<vec2[j]){
                                       temp=vec2[i];
                                        vec2[i]=vec2[j];
                                         vec2[j]=temp;
                                        }
                                        }    
                                        }
 
printf("\n\n\n");
printf("Elementos ordenados da la fila 1:  ");
for(i=1;i<=3;i++){
 
                 printf("%d  ",vec1[i]);
                           }
                  printf("\n");
printf("Elementos ordenados de la fila 2:  ");
for(i=1;i<=3;i++){
 
                 printf("%d  ",vec2[i]);}
 
 
 
 
 
 
    getch();
    return(0);
}

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 por Principios en C » En línea
LearningSpanishProgrammer

Desconectado Desconectado

Mensajes: 67


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

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 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 »

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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
 
   int fila, columna;
 
   //Preguntamos la cantidad de Filas & Columnas de la Matriz
   printf("Filas: ");
   scanf("%d", &fila);
   printf("Columnas: ");
   scanf("%d", &columna);
 
   //Creamos 2 matrices del mismo tamaño, 1 para organizarla mediante filas y la otra por columnas
   int matriz[fila][columna];
   int matriz0[fila][columna];
 
   for(int i = 0; i < fila; i++)
   {
           for(int j = 0; j < columna; j++)
           {
                   //Pedimos los datos y los ingresamos a ambas matrices
                   printf("Elemento (%d,%d): ", i, j);
                   scanf("%d", &matriz[i][j]);
                   matriz0[i][j] = matriz[i][j];
           }
   }
 
   //Mostramos los datos por Fila
   for(int i = 0; i < fila; i++)
   {
           printf("\nElemntos Fila %d: ", (i+1));
           for(int j = 0; j < columna; j++)
           {
                   printf("%d ", matriz[i][j]);
           }
   }
 
   //Recorremos la matriz para organizarla por filas
   int temp;
   for(int i = 0; i < fila; i++)
   {
           for(int j = 0; j < columna; j++)
           {
                   for(int x = 0; x < columna; x++)
                   {
                           if(matriz[i][j] < matriz[i][x])
                           {
                                           temp = matriz[i][j];
                                           matriz[i][j] = matriz[i][x];
                                           matriz[i][x] = temp;
                           }
                   }
           }
   }
 
   printf("\n\n");
 
   //Mostramos las filas ya organizadas
   for(int i = 0; i < fila; i++)
   {
           printf("\nElementos Fila %d: ", (i+1));
           for(int j = 0; j < columna; j++)
           {
                   printf("%d ", matriz[i][j]);
           }
   }
 
   //Mostramos los datos por columnas                
   for(int j = 0; j < columna; j++)
   {
           printf("\nColumna %d: ", (j+1));
           for(int i = 0; i < fila; i++)
           {
                   printf("%d ", matriz0[i][j]);
           }
   }
 
   //Organizamos los datos de las columnas
   for(int j = 0; j < columna; j++)
   {
           for(int i = 0; i < fila; i++)
           {
                   for(int x = 0; x < fila; x++)
                   {
                           if(matriz0[i][j] < matriz0[x][j])
                           {
                                            temp = matriz0[i][j];
                                            matriz0[i][j] = matriz0[x][j];
                                            matriz0[x][j] = temp;
                           }
                   }
           }
   }
 
   printf("\n\n");
   //Mostramos los datos por columnas ya organizadas
   for(int j = 0; j < columna; j++)
   {
           printf("\nColumna %d: ", (j+1));
           for(int i = 0; i < fila; i++)
           {
                   printf("%d ", matriz0[i][j]);
           }
   }
 
 
   cin.get();cin.get();
}
 
En línea

Principios en C

Desconectado Desconectado

Mensajes: 34


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

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 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
Duda - Buscar si existe una matriz dentro de otra matriz
Programación Visual Basic
EddyW 2 1,875 Último mensaje 14 Agosto 2010, 06:18
por EddyW
Matriz en C++
Programación C/C++
delirio 2 4,113 Último mensaje 27 Noviembre 2010, 22:48
por darkvidhack
Matriz Dentro de otra matriz
Programación Visual Basic
moba741120 3 1,627 Último mensaje 13 Abril 2011, 18:29
por raul338
Matriz
Programación C/C++
el4celeste 8 769 Último mensaje 19 Julio 2011, 06:13
por <<<-Underwar->>>
matriz « 1 2 »
Programación C/C++
;c1v!c 15 817 Último mensaje 19 Agosto 2011, 17:35
por rir3760
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines