Título: verificar si un numero esta repetido en matriz Publicado por: SojatDotar en 5 Julio 2015, 22:01 pm Buenas, intento hacer una función en c++, en donde me diga dada una matriz 9x9 si hay un número repetido en filas o columnas, lo intente hacer así
Código: for (int i=0; i<9; i++){ Título: Re: verificar si un numero esta repetido en matriz Publicado por: DarK_FirefoX en 6 Julio 2015, 04:29 am Hola, ¿podrías explicar un poquito mejor que es lo que quieres verificar?
¿Verificar si un número está repetido en una fila/columna especifica? ¿Verificar si el número está repetido en toda la matriz? Salu2s Título: Re: verificar si un numero esta repetido en matriz Publicado por: SojatDotar en 6 Julio 2015, 04:47 am Sí, dada dos coordenadas (x,y) y un valor, ver si ese valor esta repetido en dichas coordenadas
Título: Re: verificar si un numero esta repetido en matriz Publicado por: engel lex en 6 Julio 2015, 04:49 am Citar Sí, dada dos coordenadas (x,y) y un valor, ver si ese valor esta repetido en dichas coordenadas genial repuesta -.- te preguntan: "que quieres hacer?" tu respuesta: "si" para lo indicado no necesitas un ciclo Código: si (matriz[x][y] == valor) entonces: Título: Re: verificar si un numero esta repetido en matriz Publicado por: SojatDotar en 6 Julio 2015, 05:02 am Así dice el enunciado, dado dos coordenadas y un valor verificar si dicho valor esta repetido en las coordenadas( son coordenadas ingresadas) yo habia pensado hacer como especie de otra matriz
Título: Re: verificar si un numero esta repetido en matriz Publicado por: engel lex en 6 Julio 2015, 05:06 am Citar dado dos coordenadas y un valor verificar si dicho valor esta repetido en las coordenadas dada 2 coordenadas: es decir recibido un valor X y uno Y y un valor: llamemoslo "valor" verificar si dicho valor esta repetido en las coordenadas como está ahí se intepreta "si te doy un 'x' y un 'y', revisa si el valor que te doy es igual" es solo en ese valor según dice, no en toda la matriz... es un solo if y listo en cambio si te dicen "dado un valor, vea si se repite en la matriz" es otra cosa muy distinta Título: Re: verificar si un numero esta repetido en matriz Publicado por: SojatDotar en 6 Julio 2015, 05:09 am Así es o es lo que entiendo por lo menos porque dice "Dado un par de coordenadas y un valor esta función debe validar si este valor es único en una fila,columna y retornar un lógico con dicha respuesta"
Título: Re: verificar si un numero esta repetido en matriz Publicado por: engel lex en 6 Julio 2015, 05:20 am Esa explicación está mejor, estoy seguro que entiendes a tu profesor mejor que yo ;)
lo recomiendo hacer así, no es necesario elaborar mucho, solo un for y un par de if (si es una matriz del mismo ancho que largo) Código: conseguido = falso; Título: Re: verificar si un numero esta repetido en matriz Publicado por: SojatDotar en 6 Julio 2015, 05:33 am Si algo así ?
Código: int Verificardigito () { Título: Re: verificar si un numero esta repetido en matriz Publicado por: DarK_FirefoX en 6 Julio 2015, 05:37 am Bueno, al parecer yo sigo sin "entender" al "profesor" :silbar:
A ver, lo que entendí es que quieres dado una X y Y (coordenadas) dentro de la matriz, ¿verificar si un valor (valor) se repite en esa fila (X) y/o columna (Y)? Si es así con lo que dice @engel lex tienes. Esa explicación está mejor, estoy seguro que entiendes a tu profesor mejor que yo ;) Salu2slo recomiendo hacer así, no es necesario elaborar mucho, solo un for y un par de if (si es una matriz del mismo ancho que largo) Código: conseguido = falso; PD: genial repuesta -.- te preguntan: "que quieres hacer?" tu respuesta: "si" :D Título: Re: verificar si un numero esta repetido en matriz Publicado por: SojatDotar en 6 Julio 2015, 05:41 am Sí, asi es dados esos valores verificar que en esas coordenadas no haya número repetido( o sea, el valor es único) otra duda, y si quisiera hacer otra función pero esta vez dada dos coordenadas y un valor, insertar ese valor en esas coordenadas?
Título: Re: verificar si un numero esta repetido en matriz Publicado por: engel lex en 6 Julio 2015, 05:42 am tienes muchos errores en el código, te los resalto
Código
corregida quedaría Código
Citar Sí, asi es dados esos valores verificar que en esas coordenadas no haya número repetido( o sea, el valor es único) otra duda, y si quisiera hacer otra función pero esta vez dada dos coordenadas y un valor, insertar ese valor en esas coordenadas? explícate con detalle, deja de tratar de resumir lenguaje, porque no se entiende lo que tratas de expresar, explica largo y con ejemplos Título: Re: verificar si un numero esta repetido en matriz Publicado por: SojatDotar en 6 Julio 2015, 05:50 am Sí, me percate de los errores, pero fue un error al tipearlo aquí, es más o menos así, dado un par de coordenadas y un valor colocar el mismo en la posición dentro del tablero (matriz) es necesario notificar si en el momento de colocar un valor éste se encuentra en la misma fila, columna , en ningún momento se debe impedir colocar dicho valor
Título: Re: verificar si un numero esta repetido en matriz Publicado por: DarK_FirefoX en 6 Julio 2015, 05:55 am Tal como dijo @engel lex, estás tratando de escribir poco y pasamos trabajo para entenderte, date cuenta que lo que decías se contradecía sobre lo que querías hacer. Cuando te refieres a coordenadas, es solamente la X y Y de un punto (extrapólate a Geometría Analítica) y tu querías inducir la fila X y la columna Y dadas las coordenadas de un punto. En fin, que no tenía mucho sentido.
Además, ahora cambias sobre lo que quieres hacer, solamente tienes que verificar si el número está repetido en esa fila y/o columna y después ponerlo (ah, eso si, ¿donde lo vas a poner?) Salu2s Título: Re: verificar si un numero esta repetido en matriz Publicado por: SojatDotar en 6 Julio 2015, 06:01 am Voy a intentar explicar mejor tengo mi matriz 9x9, trato de hacer una Función en donde dado dos coordenadas y un valor me diga si ese valor es único en una fila o columna de mi matriz, y otra Función en donde dados dos coordenadas y un valor, colocar ese mismo valor en las coordenadas introducidas
Título: Re: verificar si un numero esta repetido en matriz Publicado por: engel lex en 6 Julio 2015, 06:11 am Citar trato de hacer una Función en donde dado dos coordenadas y un valor me diga si ese valor es único en una fila o columna de mi matriz ya lo tienes... ese fue... procura no confunir "corrdenadas" con "filas y columnas" "coordenada" es un punto exacto, uno solo (3,5) es el punto en la posición X = 3, Y = 5, no hay duda, no se extiende a sus vecinos. tambien se puede extender este concepto a sus componentes "dadas 2 coordenadas" es que darán cada componente de un punto, un X y un Y fila es todo el espacio horizontal de 1 solo espacio vertical que se extiende en una matriz ejemplo Código: 1,2,3,4,5,6 columna es todo el espacio vertical de 1 solo espacio horizontal que se extiende en una matriz ejemplo Código: 1 Citar y otra Función en donde dados dos coordenadas y un valor, colocar ese mismo valor en las coordenadas introducidas por lo que entiendo es tan simple como Código: matriz[x][y]=valor Título: Re: verificar si un numero esta repetido en matriz Publicado por: DarK_FirefoX en 6 Julio 2015, 06:11 am Voy a intentar explicar mejor tengo mi matriz 9x9, trato de hacer una Función en donde dado dos coordenadas y un valor me diga si ese valor es único en una fila o columna de mi matriz, y otra Función en donde dados dos coordenadas y un valor, colocar ese mismo valor en las coordenadas introducidas Un poquito mejor, pero todavía, lo siento, pero de verdad queremos ayudarte: A ver, voy a dividirlo por partes: 1ra parte común: Citar tengo mi matriz 9x9 Hasta ahí, estamos bien: Citar una Función en donde dado dos coordenadas y un valor me diga si ese valor es único en una fila o columna de mi matriz De aquí, se puede deducir que te dan las coordenadas de un punto específico en la matriz, o sea, te dan X (digamos fila) y Y (digamos columna), que apuntan a ese punto en una matriz, o sea a: Código
Entonces, también dices que tienes un valor, o sea, el valor el cual vas a verificar si es único. El problema recae en que: ¿Son las "coordenadas" que dices las que representan: "una fila o columna de mi matriz"? o ¿no tienen que ver? mod: pues no tiene sentido, lee lo que escribió @engel lex ^^ alla arriba Luego, la otra parte es: Citar Función en donde dados dos coordenadas y un valor, colocar ese mismo valor en las coordenadas introducidas Ya esto es sencillo, simplemente basta con asignarle a la matriz en X y Y (coordenadas introducidas del punto) el valor que te dieron Código
Espero que entiendas nuestros consejos. Salu2s Título: Re: verificar si un numero esta repetido en matriz Publicado por: SojatDotar en 6 Julio 2015, 06:17 am Sí, si entiendo lo que dicen, pero así dice el enunciado, lo copiare tal cual como es; Función VerificarDigito: Dado un par de coordenadas y un valor esta función debe validar si este valor es único en una fila,columna o cuadrante y retornar un valor lógico
Función ColocarNumero: dado un par de coordenadas y un valor colocar el mismo en la posición indicada dentro de la matriz, es necesario notificar si en el momento de colocar un valor éste se encuentra en la misma fila,columna (en ningún momento se debe impedir colocar el valor) Título: Re: verificar si un numero esta repetido en matriz Publicado por: DarK_FirefoX en 6 Julio 2015, 06:23 am Sí, si entiendo lo que dicen, pero así dice el enunciado, lo copiare tal cual como es; Función VerificarDigito: Dado un par de coordenadas y un valor esta función debe validar si este valor es único en una fila,columna o cuadrante y retornar un valor lógico Función ColocarNumero: dado un par de coordenadas y un valor colocar el mismo en la posición indicada dentro de la matriz, es necesario notificar si en el momento de colocar un valor éste se encuentra en la misma fila,columna (en ningún momento se debe impedir colocar el valor) Bueno, viendo la falta de claridad del primer enunciado (pues sigo sin verle sentido, que crees tu @engel lex?) creo, que deberías hacerlo como te lo habíamos planteado inicialmente, ya que te dan las coordenadas de un punto, verifica si el valor existe en esa fila (X) y/o en esa columna (Y). ¿Entiendes? Salu2s Título: Re: verificar si un numero esta repetido en matriz Publicado por: engel lex en 6 Julio 2015, 06:25 am Sí, si entiendo lo que dicen, pero así dice el enunciado, lo copiare tal cual como es; Función VerificarDigito: Dado un par de coordenadas y un valor esta función debe validar si este valor es único en una fila,columna o cuadrante y retornar un valor lógico Función ColocarNumero: dado un par de coordenadas y un valor colocar el mismo en la posición indicada dentro de la matriz, es necesario notificar si en el momento de colocar un valor éste se encuentra en la misma fila,columna (en ningún momento se debe impedir colocar el valor) ufff de la tierra a la luna! XD tu enunciado inicial Citar dada dos coordenadas (x,y) y un valor, ver si ese valor esta repetido en dichas coordenadas el enunciado real Citar ado un par de coordenadas y un valor esta función debe validar si este valor es único en una fila,columna o cuadrante y retornar un valor lógico unica diferencia Citar en una fila,columna o cuadrante y retornar un valor lógico tu profesor no puso el enunciado mal XD está perfectamente explicado y el código está mal (tiene que revisar "el cuadrante" que no sé como lo definen)... Citar dado un par de coordenadas y un valor colocar el mismo en la posición indicada dentro de la matriz, es necesario notificar si en el momento de colocar un valor éste se encuentra en la misma fila,columna (en ningún momento se debe impedir colocar el valor) básicamente como habíamos dicho y luego llamar a VerificarDigito listo Título: Re: verificar si un numero esta repetido en matriz Publicado por: SojatDotar en 6 Julio 2015, 06:39 am Código: #include <iostream> Título: Re: verificar si un numero esta repetido en matriz Publicado por: engel lex 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
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
eso está mal, Verificardigito es una función no es una variable así que debe ser Código
por ultimo... ColocarNumero nunca fue usado Título: Re: verificar si un numero esta repetido en matriz Publicado por: DarK_FirefoX 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 Título: Re: verificar si un numero esta repetido en matriz Publicado por: SojatDotar 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
Título: Re: verificar si un numero esta repetido en matriz Publicado por: SojatDotar en 6 Julio 2015, 23:47 pm Cuando te refieres a corregir las variable, que quieres decir?
Título: Re: verificar si un numero esta repetido en matriz Publicado por: SojatDotar 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 (http://prntscr.com/7pnmrp) esos serían los diferente cuadrante, esa función la hice así: Código: bool VerificarTablero() { en la otra la hice como acción en donde solo mostre el tablero : Código: void MostrarTablero(){ Funcion VerificarDigitos: Código: bool VerificarDigitos () { |