Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/04/2016, 12:50
veravluis
 
Fecha de Ingreso: julio-2015
Mensajes: 15
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Ordenar una matriz sin repetir numeros.

Un ejemplo como podría hacer para que no se repitieran los números debería agregar una función o agregarlo a una de las que ya tengo.

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #define filas 5
  5. #define columnas 5
  6.  
  7. void cargar_matriz(int matriz[filas][columnas]);
  8. void ordenar_matriz(int matriz[filas][columnas]);
  9. void imprimir_matriz(int matriz[filas][columnas]);
  10.  
  11. int i,j,k,l;
  12.  
  13.     int main()  {
  14.        
  15.         int matriz[filas][columnas];
  16.        
  17.         cargar_matriz(matriz);
  18.         ordenar_matriz(matriz);
  19.         imprimir_matriz(matriz);
  20.        
  21.     return 0;  
  22.     }//Fin main
  23.    
  24.    
  25.     void cargar_matriz(int matriz[filas][columnas]){
  26.    
  27.             for(i = 0; i < filas; i++)  {
  28.            
  29.             for(j = 0; j < columnas; j++)   {
  30.                 matriz[i][j] = rand()%25+1;
  31.             }
  32.         }
  33.        
  34.     }//Fin función
  35.    
  36.    
  37.     void ordenar_matriz(int matriz[filas][columnas]){
  38.    
  39.     int mayor;
  40.        
  41.         for(i = 0; i < filas;i++)   {
  42.  
  43.             for(j = 0; j < columnas;j++){
  44.                
  45.                 for(k = 0; k < 5;k ++)  {
  46.                    
  47.                     for(l = 0; l < 5; l++)  {
  48.                        
  49.                         if(matriz[i][j] < matriz[k][l]) {
  50.                            
  51.                             mayor = matriz[i][j];
  52.                             matriz[i][j] = matriz[k][l];
  53.                             matriz[k][l] = mayor;
  54.                            
  55.                         }
  56.                     }
  57.                 }
  58.  
  59.             }
  60.         }
  61.     }//Fin Función.
  62.    
  63.     void imprimir_matriz(int matriz[filas][columnas]){
  64.        
  65.          for(i = 0; i < filas; i++) {
  66.             printf("\n");
  67.             for(j = 0; j < columnas; j++)   {
  68.                 printf(" %d ",matriz[i][j]);
  69.             }
  70.         }
  71.     }//Fin función