elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  VALIDAR MATRIZ!!!! c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: VALIDAR MATRIZ!!!! c++  (Leído 4,657 veces)
FabianSek

Desconectado Desconectado

Mensajes: 2


Ver Perfil
VALIDAR MATRIZ!!!! c++
« en: 28 Mayo 2016, 17:44 pm »

Buenos dias!!!!


Estoy dandole duro a la programada pero en esta ocasión tengo un problema con una matriz, donde tengo que validar los datos de entrada del usuario y que estos no se repitan unos vez ingresados, por ejemplo:
usuario ingresa letra a,
usuario ingresa letra b
usuario ingresa letra c
usuario ingresa letra a----- Por favor ingrese un elemento diferente(es aqui donde sustituye la letra o elemento ingresado y llena ese espacio con un elemento que no este repetido en la matriz)

la matriz es de elementos char y va todo en un menu while, pero es en este punto del case donde necesito su ayuda.

adjunto el codigo que llevo, muchas gracias.


 case 3:
   system ("cls");
   cout<<"INGRESE 12 ELEMENTOS.\n";
   for(j=0;j<4;j++)
   {   
     for(k=0;k<3;k++)
     {
       cin>>matriz[j][k];
   
       for(h=0;h<j;h++)
      {   
        for(i=1;i<k;i++)
        {
         mat[h]=matriz[j][k];
       if (matriz[j][k] =! mat[h])
       {
         cout<<"EL VALOR INGRESADO YA EXISTE EN LA MATRIZ!!!!\n\nINGRESE UN NUEVO VALOR: ";
         cin>>matriz[j][k];   
        }
      }
    }
  }
}
  cout<< "PRESIONE UNA TECLA PARA CONTINUAR ";
  getch();   
  break;




MUCHAS GRACIAS DE ANTE MANO


En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.697


🏴 Libertad!!!!!


Ver Perfil WWW
Re: VALIDAR MATRIZ!!!! c++
« Respuesta #1 en: 28 Mayo 2016, 18:47 pm »

Es exclusivamente con letras?
Es exclusivamente con UN SOLO caracter?

Pregunto eso por que puedes tener un arreglo Lineal inicializado en 0 con el mismo tamaño de la posible entrada. Estas serian como banderas.

Cualdo pides el dato a insertar evaluas que dicho arreglo este seteado en 0 y si lo esta agregas el dato a la matriz y ese valor del arreglo de validacion lo igualas a 1 y cuando vuelva a caer ese valor, el arreglo ya sera 1 y no entrara al If...

Ejemplo eso estaria dentro de un ciclo despues de que pides el dato agregar.

Código
  1. if(arreglo_no_repetidos[valor_aletorio] == 0) {
  2. matriz[i] = valor_aletorio;
  3. i++;
  4. arreglo_no_repetidos[valor_aletorio] = 1;
  5. }
  6.  


Ya que suba mi video a youtube te lo dejare copiado por aqui, en caso de que lo quierasa ver.

Saludos!


« Última modificación: 28 Mayo 2016, 19:27 pm por AlbertoBSD » En línea

FabianSek

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: VALIDAR MATRIZ!!!! c++
« Respuesta #2 en: 28 Mayo 2016, 19:40 pm »

el detalle es el siguiente:

es una matriz de tipo char
 char matriz[4][3];

es aqui donde tengo que ver una validacion de comparacion con el parametro de entrada con los datos que hay, para que asi no se repitan los valores, ya sean numericos o letras.


gracias !!!!!
En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.697


🏴 Libertad!!!!!


Ver Perfil WWW
Re: VALIDAR MATRIZ!!!! c++
« Respuesta #3 en: 28 Mayo 2016, 19:44 pm »

El mismo codigo aplica:

Código
  1. char arreglo_no_repetidos[255] = "";
  2. if(arreglo_no_repetidos[valor_ingresado] == 0) {
  3. matriz[i][j] = valor_ingresado;
  4. i++;
  5. arreglo_no_repetidos[valor_ingresado] = 1;
  6. }
  7.  

Te dejo el enlace al video que te comente espero y te sirva:

« Última modificación: 28 Mayo 2016, 20:28 pm por AlbertoBSD » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines