Foros del Web » Programación para mayores de 30 ;) » C/C++ »

ayuda con dos problemas de lenguaje c

Estas en el tema de ayuda con dos problemas de lenguaje c en el foro de C/C++ en Foros del Web. Apartado 1 Una matriz 9x9 es un sudoku si se cumplen las siguientes condiciones: a) Ningún valor se repite en la misma fila. b) Ningún ...
  #1 (permalink)  
Antiguo 23/12/2010, 11:10
 
Fecha de Ingreso: diciembre-2010
Mensajes: 2
Antigüedad: 13 años, 4 meses
Puntos: 0
ayuda con dos problemas de lenguaje c

Apartado 1
Una matriz 9x9 es un sudoku si se cumplen las siguientes condiciones:
a) Ningún valor se repite en la misma fila.
b) Ningún valor se repite en la misma columna.
c) Ningún valor se repite dentro de cada submatriz 3x3 del sudoku (9 submatrices).
d) Todos los elementos de la matriz están comprendidos entre 1 y 9.
Realice un programa que compruebe que que el elemento M[i][j] de una matriz 9x9 dada no está
repetido en su fila o en su columna y que está entre el 1 y el 9.
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void main(void)
{
/* DECLARACIÓN DE VARIABLES (realice tabla de objetos) */
int M[9][9]=
/* 0 3 6 */
/*0*/{{1,6,2, 8,5,7, 4,9,3},
{5,3,4, 1,2,9, 6,7,8},
{7,8,9, 6,4,3, 5,2,1},
/*3*/ {4,7,5, 3,1,2, 9,8,6},
{9,1,3, 5,8,6, 7,4,2},
{6,2,8, 7,9,4, 1,3,5},
/*6*/ {3,5,6, 4,7,8, 2,1,9},
{2,4,1, 9,3,5, 8,6,7},
{8,9,7, 2,6,1, 3,5,4}};
int i,j; /* Índices para la indexación de la matriz*/
int res; /* vale 1 si es sudoku, 0 si no lo es*/
int I,J;
/* ESCRITURA DE DATOS */
for(i=0;i<9;i++) /* escritura de matriz */
{
printf("\n");
for(j=0;j<9;j++)
{
printf("%d ",M[i][j]);
}
}
printf("\nIntroduzca la fila: ");
scanf("%d",&i);
printf("Introduzca la columna: ");
scanf("%d",&j);
/* CÁLCULOS */
/*************INICIO CÓDIGO DE ALUMNO*****************/




/***************FIN CÓDIGO DE ALUMNO******************/
3
/* ESCRITURA DE RESULTADOS */
if(res==1)
printf("\n El elemento %d,%d cumple las condiciones",i,j);
else
printf("\n El elemento %d,%d no cumple las condiciones",i,j);
/* BLOQUEO DE PANTALLA*/
printf("\n");
system("pause");
}
Nota: La matriz se inicializa a una matriz Sudoku. Para comprobar si el algoritmo funciona, se pueden
modificar los valores de inicialización para que algún elemento no cumpla las condiciones.
.
.
.
.
.
y
.
.
.
.
.
Apartado 2
Una matriz 9x9 es un sudoku si se cumplen las siguientes condiciones:
e) Ningún valor se repite en la misma fila.
f) Ningún valor se repite en la misma columna.
g) Ningún valor se repite dentro de cada submatriz 3x3 del sudoku (9 submatrices).
h) Todos los elementos de la matriz están comprendidos entre 1 y 9.
Realice un programa que compruebe que que el elemento M[i][j] de una matriz 9x9 dada no está
repetido en su correspondiente submatriz y que está entre el 1 y el 9.
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void main(void)
{
/* DECLARACIÓN DE VARIABLES (realice tabla de objetos) */
int M[9][9]=
/* 0 3 6 */
/*0*/{{1,6,2, 8,5,7, 4,9,3},
{5,3,4, 1,2,9, 6,7,8},
{7,8,9, 6,4,3, 5,2,1},
/*3*/ {4,7,5, 3,1,2, 9,8,6},
{9,1,3, 5,8,6, 7,4,2},
{6,2,8, 7,9,4, 1,3,5},
/*6*/ {3,5,6, 4,7,8, 2,1,9},
{2,4,1, 9,3,5, 8,6,7},
{8,9,7, 2,6,1, 3,5,4}};
int i,j; /* Índices para la indexación de la matriz*/
int res; /* vale 1 si es sudoku, 0 si no lo es*/
int I,J;
/* ESCRITURA DE DATOS */
for(i=0;i<9;i++) /* escritura de matriz */
{
printf("\n");
for(j=0;j<9;j++)
{
printf("%d ",M[i][j]);
}
}
printf("\nIntroduzca la fila: ");
scanf("%d",&i);
printf("Introduzca la columna: ");
scanf("%d",&j);
/* CÁLCULOS */
/*************INICIO CÓDIGO DE ALUMNO*****************/
/***************FIN CÓDIGO DE ALUMNO******************/
/* ESCRITURA DE RESULTADOS */
if(res==1)
5
printf("\n El elemento %d,%d cumple las condiciones",i,j);
else
printf("\n El elemento %d,%d no cumple las condiciones",i,j);
/* BLOQUEO DE PANTALLA*/
printf("\n");
system("pause");
}
Nota: La matriz se inicializa a una matriz Sudoku. Para comprobar si el algoritmo funciona, se pueden
modificar los valores de inicialización para que algún elemento no cumpla las condiciones.
  #2 (permalink)  
Antiguo 23/12/2010, 17:32
Avatar de Munire  
Fecha de Ingreso: julio-2010
Ubicación: en el ciberdespacio (España)
Mensajes: 150
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: ayuda con dos problemas de lenguaje c

ah, pero que te has creido que te vamos a hacer los deberes?

Etiquetas: dos, lenguaje
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:04.