programa en c que al llenar una matriz 4x4 no me acepte valores repetidos

Iniciado por sanchez2011, 4 Junio 2012, 03:15 AM

0 Miembros y 1 Visitante están viendo este tema.

sanchez2011

buenas tardes necesito su ayuda quiero realizar un programa que me llene una matriz de 4x4 pero que no me acepte numeros repetidos esto es lo que llevo y la  verdad n e logrado siquiera que me los detecte

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
main()
{
      int i,j,n,opc,mat[4][4];
      int aux[4][4];
  do
    {
      printf("\n1. CORRER PROGRAMA \n2. SALIR");
      printf("\n\nSELECCIONA TU OPCION ");
      scanf("%d",&opc);     
      system("cls");
      switch(opc)
          {
              case 1: for(i=0;i<4;i++)
                      for(j=0;j<4;j++)
                         {
                             printf("INGRESA LOS ELEMENTOS DE LA MATRIZ [%d][%d] ",i,j);
                             scanf("%d",&mat[j]);
                         }/**intento por hacer que me detecte numeros repetidos*//
                          for(i=0;i<4;i++)
                             for(j=0;j<4;j++)
                                 {
                                    aux[j]=mat[j];
                                 }
                    if(aux[j]!=mat[j])
                       {     
                      /*IMPRIMIR MATRIZ*/
                      for(i=0;i<4;i++)
                         {
                             printf("\n");
                             for(j=0;j<4;j++)
                             printf("\t[%d]",mat[j]);                               
                         }                         
                      getch();
                      printf("\n\n");
                      }                     
              else printf("\nESTA MATRIZ NO ACEPTA NUMEROS REPETIDOS");           
              break;
              case 2:break;
              default:printf("\nOPCION INVALIDA\n");
              break;
           }
           }
      while(opc!=2);
     }

STANHMAL

Hola que tal,

Bien, lo primero que debes de hacer es colocar el código entre las etiquetas de GeSHi, para que no se dañe como en tu caso, da la impresión de que al asignar los valores a la matriz estuviera errado.

No entiendo para que usas una matriz auxiliar, si no es necesario, lo que debes de hacer es guardar el número en otra variable, y comparar ese número con los números ingresados en la matriz, es decir, cada vez que se lea un nuevo número se recorre la matriz hasta dicha posición e ir verificando que dicho número no se encuentre.


$4!u2
Power Metal vs Reggaeton



Que es mi ordenador mi tesoro que todo el mundo ha de temer. Mi ley, el ratón y el módem. Mi única patria, la red