Lunes 23 de Diciembre de 2024, 18:16
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Re: Quien Me Dice Porque No Imprime En Pantalla
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Re: Quien Me Dice Porque No Imprime En Pantalla (Leído 1189 veces)
carlos80
Nuevo Miembro
Mensajes: 2
Re: Quien Me Dice Porque No Imprime En Pantalla
«
en:
Viernes 4 de Abril de 2008, 06:17 »
0
HOLA ESTOY DISEÑANDO UN SUDOKU EN C++, TRATO DE TOMAR LOS DATOS DEL USUARIO PARA COMPARARLOS CON UNA MATRIZ PRINCIPAL TANTO FILAS COMO COLUMNAS Y NO SE EN QUE ESTOY FALLANDO, SI ALGUIEN ME PUEDE DECIR QUE ES LA QUE ESTOY HACIENDO MAL LE AGRADECERIA MUCHISIMO
MI CORREO ES
XXXXXXXXXXXXXXXXXXXXXX@yahoo.com
EI: ¿Para que dejas tu e-mail? ¿Para que te manden spam? Entra al foro para ver si te responden y no crees dos hilos para preguntar exactamente lo mismo!
Pongo el "codigo" entre etiquetas code.
Código: Text
#include <stdio.h>
#include <conio.h>
int imprimir_juegosudoku(int tabla[9][9]);
int main()
{
int tabla_referencia[9][9];
int n;
int matriz[9][9];
int tabla[9][9]={ {0,0,9,0,2,0,0,0,4}, //falta crear la funcion que llene estos espacios con el archivo recibido//
{6,2,0,0,0,0,0,7,0},
{0,0,3,6,9,0,0,0,0},
{0,0,4,5,3,0,1,0,0},
{0,1,6,0,0,8,0,0,5},
{0,0,0,0,0,0,6,9,8},
{7,0,0,3,4,0,8,1,0},
{0,3,0,0,0,1,0,0,9},
{0,0,2,7,8,0,3,4,0}
};
imprimir_juegosudoku(tabla);
int imprimir_juegosudoku(int tabla[9][9]);
{
int x,y;
printf(" -----------------------------arriba\n");
for(x=0;x<9;x++)
{
printf("|");
for(y=0;y<9;y++)
{
if(tabla[x][y] != 0)
printf(" %d ", tabla[x][y]);
else
printf(" _ ");
if(y==2||y==5)
printf("|");
}
printf("|\n|\t |\t |\t |\n");
if(x==2||x==5)
{
printf("|---------|---------|---------|mitad");
printf("\n");
}
}
printf(" -----------------------------abajo\n");
printf("\n");
getch();
return 0;
}
int recoge_datos;
{
int f,c,d,i,j;
printf("digite los los valores de la posicion fila columna y luego el numero a poner");
scanf("%d",f,c,d);
{for(i=0;i<9;i++) //comparar el valor recibido en las filas y las columnas//
{for(j=0;j<9;j++)
{if(tabla[f][c]==tabla[f][j]||tabla[f][c]==tabla[i][c])
printf("no se puede ubicar este numero aqui");
else
{if (tabla_referencia[f][c]==1) //esta tabla es la que cambia los numeros por 1//
printf("valor predeterminado,no se puede cambiar");
else (tabla[f][c]=d); //pasarle el valor a tablaen dicha posicion//
}}}}
int tabla_refereincia [9][9];
{
FILE *archivo;
char datos;
archivo=fopen("datos.txt","r"); //lee los datos enviados por el profe//
if(!archivo)
{printf("error al abrir archivo");}
while (!feof(archivo))
{datos=fgetc(archivo);}
fclose (archivo);
//falta la condicion donde cambie los numeros por 1 y deje los ceros//
archivo=fopen("predeterminados.txt","w"); //CREA EL ARCHIVO
if (!archivo)
{printf (" no se encontro el archivo");}
do
{
datos=getch();
printf("%c", datos);
if(datos!=27)
for(i=0;i<5;i++)
{
for(n=0;n<5;n++)
{fprintf(archivo," Posicion [%d][%d] = %d\n",i,n,matriz[i][n]);}
}
}
while(datos!=27);
fclose(archivo);
}}}
El mensaje contiene
1 archivo adjunto
. Debes
ingresar
o
registrarte
para poder verlo y descargarlo.
Tweet
Geo
Miembro de PLATA
Mensajes: 1011
Nacionalidad:
Re: Quien Me Dice Porque No Imprime En Pantalla
«
Respuesta #1 en:
Viernes 4 de Abril de 2008, 07:55 »
0
Ese programa no compila, revisa todo tu código pues tienes varios errores básicos, checa la definición de todas tus funciones. Además, recuerda que una función puede llamarse sólo después de haber sido declarada.
La imaginación es el límite.
Hardware & Software
|
Mexchip
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: Quien Me Dice Porque No Imprime En Pantalla
«
Respuesta #2 en:
Viernes 11 de Abril de 2008, 09:05 »
0
Ya que volviste a crear un tema para esto te respondo en este y borro el otro ................................................
Esta linea no tiene pies ni cabeza:
(imprimir_juegosudoku(tabla["%c"]["%c"]="%c"),f,c,numero);}
El compilador te va a mostrar los errores ...
int imprimir_juegosudoku(int tabla[9][9]);
Lo mejor seria que empezaras de nuevo prestando atencion y despues de haber leido algun libro de programacion.
Nacional y Popular
En mi país la bandera de Eva es inmortal.
Queremos una Argentina socialmente justa, económicamente libre y políticamente soberana.
¡Perón cumple, Evita dignifica!
La mano invisible del mercado me robo la billetera.
Elforious
Miembro activo
Mensajes: 44
Re: Quien Me Dice Porque No Imprime En Pantalla
«
Respuesta #3 en:
Viernes 11 de Abril de 2008, 18:15 »
0
Tienes varios errores de sintaxis y uno que otro de lógica, hasta después de definir la función "imprimir_juegosudoku" está bien excepto en el punto y coma cuando la definís;
después de eso, tienes muchos errores, por ejemplo en:
Código: Text
printf("digite los los valores de la posicion fila columna y luego el numero a poner");
scanf("%d",f,c,d);
Tienes que hacer un printf y scanf para cada uno, y el scanf funciona con & antes de la variable( scanf("%d",&f); ), por lo que mandas la variable por referencia...
Otro error de lógica está dentro del for en esta misma finción función "recoge_datos":
Código: Text
if(tabla[f][c]==tabla[f][j]||tabla[f][c]==tabla[i][c])
printf("no se puede ubicar este numero aqui\n");
Por que si la condición no se cumple, te imprime hasta que se acbe el for; tampoco l¡no le mandas los parámetros necesarios.
Organiza bien tu código y revisalo...
Espero haber ayudado.
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Re: Quien Me Dice Porque No Imprime En Pantalla