Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: DRinoa en 6 Febrero 2017, 06:43 am



Título: matriz sin numeros repetidos
Publicado por: DRinoa en 6 Febrero 2017, 06:43 am
Hola!
tengo una duda :)
Me piden hacer un programa en el que al ingresar los datos en una matriz,no me permita ingresar numeros repetidos.
En un vector es a==a[j], para ir comparando,pero en una matriz.no se como hacerlo,me podrian ayudar por favor,no que me hagan el programa,si no que me ayuden a la logica por favor.

gracias.


Título: Re: matriz sin numeros repetidos
Publicado por: dato000 en 6 Febrero 2017, 18:01 pm
es simple, declaras una variable que guarde ese numero, luego la comparas con las posiciones de la matriz, y si no se encuentra dentro, la asignas a una posición de la matriz.

seria algo como esto:

Código
  1.  
  2. //matriz de 5 posiciones
  3. int mat[5];
  4.  
  5. digamos que tiene los numeros de 1 a 5
  6. for(int i=0; i<5; i++)
  7. {
  8.  mat[i] = i+1; // aqui le damos el numero de la posicion del arreglo, inicia en cero, y para hacerlo acorde a la escala, le aumentamos 1 numero.
  9. }
  10.  
  11. //Ingresando el numero
  12. int numero =  getchar();
  13.  
  14. // comparamos el numero en cuestion con las posiciones del arreglo
  15. for(int i=0; i<5; i++)
  16. {
  17.   if(mat[i] != numero) //Si el numero es diferente, lo guarda
  18.   {
  19.       matr[i] = numero;
  20.   }
  21. }
  22.  


Ahora se que hay una pega, y es que en el caso de que el numero sea diferente, guardara en todas las posiciones del arreglo. Lo deje a proposito para que trabajes un poco, para que tengas algo y trabajes tu código, si sigues con la duda, deja lo que has hecho, y aquí ayudamos.