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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  verificar si un numero esta repetido en matriz
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: 1 2 [3] Ir Abajo Respuesta Imprimir
Autor Tema: verificar si un numero esta repetido en matriz  (Leído 17,713 veces)
SojatDotar

Desconectado Desconectado

Mensajes: 40


Ver Perfil
Re: verificar si un numero esta repetido en matriz
« Respuesta #20 en: 6 Julio 2015, 06:39 am »

Código:
#include <iostream>
using namespace std;
int mat[9][9];

bool Verificardigito (int n, int x, int y) {
bool validar=true;

 
 cout<<"ingrese la coordenada x"<<endl;
 cin>>x;
 cout<<"ingrese la coordenada y"<<endl;
 cin>>y;
 cout<<"ingrese el valor"<<endl;
 cin>>n;
 for (int i =0; i<9; i++){
 if (mat[x][i]==n || mat[i][y]==n) {
  validar=true;
  break;
}  
if (validar==true){
  cout<<"valor repetido"<<endl;
}
 
return (validar);
}
}


void ColocarNumero(int n, int x, int y) {

cout<<"ingrese la coordenada 1"<<endl;
 cin>>x;
 cout<<"ingrese la coordenada 2"<<endl;
 cin>>y;
 cout<<"ingrese el valor"<<endl;
 cin>>n;
mat[i][j]=n;


}

int main() {

int n,x,y;
bool Va;

for(int i=0;i<9;i++) {
for(int j=0;j<9;j++) {
  cin>>mat[i][j];

}
}




Va=Verificardigito;

return 0;
}
es lo que llevo del código, de lo que entendí


« Última modificación: 6 Julio 2015, 06:42 am por SojatDotar » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: verificar si un numero esta repetido en matriz
« Respuesta #21 en: 6 Julio 2015, 07:01 am »

sinceramente recomiendo importante y encarecidamente que hagas un tutorial de C++, ya que estás bastante perdido en ello
(por cierto, para que tu códigos se vean bien como cuando yo los coloco, usa las etiquetas GeSHi, están ubicadas un poco más a la derecha que la etiqueta de código)

Verificardigito, decídete las variables (n, y ,x) se reciben como parámetros o los ingresa el usuario?
como lo tienes
Código
  1. bool Verificardigito ()

funcionaría perfecto (claro, corrigiendo las variables)

lo mismo con ColocarNumero... solo que quien es i y j? no los veo declarados en la función....

procura no hacer
Código:
for(int...

declara las variables afuera del for


por otro lado más...

Código
  1. Va=Verificardigito;

eso está mal, Verificardigito es una función no es una variable así que debe ser
Código
  1. Va=Verificardigito();

por ultimo...
ColocarNumero nunca fue usado


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
DarK_FirefoX


Desconectado Desconectado

Mensajes: 1.263


Be the change you wanna see in te world


Ver Perfil
Re: verificar si un numero esta repetido en matriz
« Respuesta #22 en: 6 Julio 2015, 07:25 am »

También, ten en cuenta, como buena práctica, el hecho de usar nombres descriptivos para tus variables, por ejemplo:

¿Que significa "Va"?

Salu2s
En línea

SojatDotar

Desconectado Desconectado

Mensajes: 40


Ver Perfil
Re: verificar si un numero esta repetido en matriz
« Respuesta #23 en: 6 Julio 2015, 15:17 pm »

Decidí pasarlas por parámetros, como las voy a usar en dos funciones, para no estar declarándolas  cada una de la funciones, "Va" sería un diminutivo de "validar" y sería la variable que este recibiendo a la función
En línea

SojatDotar

Desconectado Desconectado

Mensajes: 40


Ver Perfil
Re: verificar si un numero esta repetido en matriz
« Respuesta #24 en: 6 Julio 2015, 23:47 pm »

Cuando te refieres a corregir las variable, que quieres decir?
En línea

SojatDotar

Desconectado Desconectado

Mensajes: 40


Ver Perfil
Re: verificar si un numero esta repetido en matriz
« Respuesta #25 en: 7 Julio 2015, 00:35 am »

Voy a intentar explicar mejor, tengo que hacer una especie de sudoku, en donde me piden hacer cuatros funciones, VerificarTablero,MostrarTablero,verificardigito y colocarNumero, las dos primera las tenia hechas ( o las tengo echas), pero las dos últimas son las que mas se me han complicado
la primera función es validar si un tablero contiene una solución valida ( Qué no haya número repetidos en filas, columna o cuadrante)http://prntscr.com/7pnmrp esos serían los diferente cuadrante, esa función la hice así:
Código:
bool VerificarTablero() {

bool ver=true;

int cont=0,c=0;

for(int i=cont+1;i<9;i++) {
for(int j=0;j<9;j++) {
 
if (mat[cont][j]==mat[i][j])
{cout<<"Solucion invalida"<<endl;}

ver=false;}
else
{cout<<"Solucion Valida"<<endl;
ver=true;}
}
}

cont++;








return (ver);
}
Pero ahora cuando lo ejecuto me da solución invalida muchas veces y no una como quisiera, (Ahí no verifique los cuadrante, solo las filas y columna, ya que no sabia como verificar cada cuadrante)
en la otra la hice como acción en donde solo mostre el tablero :
Código:
void MostrarTablero(){



for(int i=0;i<9;i++) {
for(int j=0;j<9;j++) {
  cout<<mat[i][j];

}

cout<<endl;

}
las otras dos fue en la que pedí ayuda, porque no sabia como hacerlas
Funcion VerificarDigitos:
Código:
bool VerificarDigitos () {
bool validar=false;
int x,y,n;
 
 cout<<"ingrese la coordenada x"<<endl;
 cin>>x;
 cout<<"ingrese la coordenada y"<<endl;
 cin>>y;
 cout<<"ingrese el valor"<<endl;
 cin>>n;
 for (int i =0; i<9; i++){
 if (mat[x][i]==n || mat[i][y]==n) {
  validar=true;
  break;
}  
if (validar==true){
  cout<<"valor repetido"<<endl;
}
 
return (validar);
}
}
quisiera saber si me podrían ayudar en la primera función y en la tercera, ya que no me da como quería ni como pensé que me daría, si no es mucha la molestia
« Última modificación: 7 Julio 2015, 02:01 am por SojatDotar » En línea

Páginas: 1 2 [3] Ir Arriba Respuesta Imprimir 

Ir a:  

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