Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: sanchez2011 en 4 Junio 2012, 03:15 am



Título: programa en c que al llenar una matriz 4x4 no me acepte valores repetidos
Publicado por: sanchez2011 en 4 Junio 2012, 03:15 am
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);
     }
 


Título: Re: programa en c que al llenar una matriz 4x4 no me acepte valores repetidos
Publicado por: STANHMAL en 4 Junio 2012, 04:17 am
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