Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/12/2010, 13:47
Avatar de aandy
aandy
 
Fecha de Ingreso: diciembre-2010
Ubicación: Piura
Mensajes: 18
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: ayuda con dos matrices en c

Hola a todos !!!

Bueno amigo tienen razon !! aqui no te ayudaremos con las tareas pero bueno te ayudare con el primer ejemplo !! aver si con mi ejemplo haces el siguiente ;)


Código C++:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void main(void)
  5. {
  6. /* DECLARACIÓN DE VARIABLES (realice tabla de objetos) */
  7. int M[9][9]=
  8. {{1,6,2, 8,5,7, 4,9,3},
  9. {5,3,4, 1,2,9, 6,7,8},
  10. {7,8,9, 6,4,3, 5,2,1},
  11. {4,7,5, 3,1,2, 9,8,6},
  12. {9,1,3, 5,8,6, 7,4,2},
  13. {6,2,8, 7,9,4, 1,3,5},
  14. {3,5,6, 4,7,8, 2,1,9},
  15. {2,4,1, 9,3,5, 8,6,7},
  16. {8,9,7, 2,6,1, 3,5,4}};
  17.  
  18. int i,j; /* Índices para la indexación de la matriz*/
  19. int res; /* vale 1 si es sudoku, 0 si no lo es*/
  20. /* ESCRITURA DE DATOS */
  21. for(i=0;i<9;i++) /* escritura de matriz */
  22. {
  23. printf("\n");
  24. for(j=0;j<9;j++)
  25. {
  26. printf("%d ",M[i][j]);
  27. }
  28. }
  29.  
  30.  
  31. printf("\nIntroduzca la fila: ");
  32. scanf("%d",&i);
  33. printf("Introduzca la columna: ");
  34. scanf("%d",&j);
  35. /* CÁLCULOS */
  36.  
  37.  
  38. /*************INICIO CÓDIGO DE ALUMNO*****************/
  39.     //creo esta variable para verificar
  40.     //si el numero se repite en la columna
  41.     // vale 1 si no se repite y 0 si repite
  42.     int repiteFila = 1; //si se repite vale 0
  43.     //al igual que la anterior pero para la comuna
  44.     int repiteColu = 1; //si se repite vale 0
  45.     //creo esta variable para contabilizar si el numero de
  46.     //repeticion del numero ingresado es solo 1
  47.     int contador = 0;
  48.     //numero indicado
  49.     int numero = M[i][j];
  50.     //para el for
  51.     int p;//creo la variable  que utilizare para el for !!
  52.    
  53.  
  54.  
  55.     /* Verificacion por Fila */
  56.     for(p = 0;p<9;p++){
  57.          if(M[i][p] == numero){
  58.             //verifico si coinciden los numeros
  59.             // y aumento en 1 al contador
  60.            contador+=1;
  61.         }
  62.  
  63.     }
  64.     if(contador > 1)  repiteFila = 0; //el numero solo debe estar una ves :)
  65.     /* fin de verificacion por Fila */
  66.     contador = 0; //vaceo el contador :)
  67.  
  68.  
  69.     /* Verificacion por Columna */
  70.     for(p=0;p<9;p++){
  71.          if(M[p][j] == numero){
  72.            //verifico si coinciden los numeros
  73.             // y aumento en 1 al contador
  74.            contador+=1;
  75.         }
  76.     }
  77.     if(contador > 1)  repiteColu = 0; //el numero solo debe estar una ves
  78.     /* Fin verificacion por columna*/
  79.  
  80.  
  81.  
  82.     if(numero > 0 && numero < 9){
  83.             if(repiteFila == 1 && repiteColu==1){
  84.                 res = 1;
  85.             }else {
  86.                 res = 0;
  87.             }
  88.     }else{
  89.         res = 0;
  90.     }
  91.  
  92. /***************FIN CÓDIGO DE ALUMNO******************/
  93.  
  94. /* ESCRITURA DE RESULTADOS */
  95. if(res==1)
  96. printf("\n El elemento M[%d,%d] cumple las condiciones",i,j);
  97. else
  98. printf("\n El elemento %d,%d no cumple las condiciones",i,j);
  99. /* BLOQUEO DE PANTALLA */
  100. printf("\n");
  101. system("pause");
  102.  
  103. }

Espero te sirva como referencia para el segundo ejercicio !!!
Salu2!!