fork(1) download
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include <time.h>
  4.  
  5. #define D 9
  6. #define F 4
  7.  
  8. void criarSudoku(int dificuldade);
  9. int isValueInLineOrColumn(int val, char** arr, int tamanho, int line, int column);
  10.  
  11. int conferencia;
  12.  
  13. int main()
  14. {
  15. int opc=0;
  16.  
  17. printf("1-facil\t2-medio\t3-dificil");
  18. scanf("%d", &opc);
  19.  
  20. conferencia=opc;
  21.  
  22. criarSudoku(conferencia);
  23.  
  24. return 0;
  25. }
  26.  
  27.  
  28. void criarSudoku(int dificuldade)
  29. {
  30. int tamanho;
  31.  
  32. if(dificuldade==1)
  33. tamanho = F;
  34. else
  35. tamanho = D;
  36.  
  37. FILE *arquivo;
  38. char **mesa;// = new char [tamanho][tamanho];
  39. int i, j;
  40.  
  41. srand( (unsigned)time(NULL) );
  42.  
  43. switch(dificuldade)
  44. {
  45. case 1:
  46. arquivo=fopen("facil.txt","r");
  47. break;
  48.  
  49. case 2:
  50. arquivo=fopen("medio.txt","r");
  51. break;
  52.  
  53. case 3:
  54. arquivo=fopen("dificil.txt","r");
  55. break;
  56. }
  57.  
  58. for(i=0; i<tamanho; i++)
  59. {
  60. for(j=0; j<tamanho; j++)
  61. {
  62. while((mesa[i][j]=fgetc(arquivo))!=EOF)
  63. {
  64. fflush(stdin);
  65. printf( "%c", mesa[i][j]);
  66. }
  67. }
  68. }
  69.  
  70. fclose(arquivo);
  71.  
  72. arquivo=fopen("dificil.txt","a");
  73.  
  74. for(i=0; i<tamanho; i++)
  75. {
  76. for(j=0; j<tamanho; j++)
  77. {
  78. int val = 1+rand()%tamanho;
  79.  
  80. while((mesa[i][j]=0))
  81. {
  82. if(isValueInLineOrColumn(val, mesa, tamanho, i, j))
  83. fprintf(arquivo ,"%c", mesa[i][j]=0);
  84. else
  85. fprintf(arquivo ,"%c", mesa[i][j]=val);
  86. }
  87. }
  88. }
  89.  
  90.  
  91. }
  92.  
  93. int isValueInLineOrColumn(int val, char** arr, int tamanho, int line, int column)
  94. {
  95. int i;
  96.  
  97. for (i=0; i < tamanho; i++)
  98. {
  99. if(arr[line][i] == val)
  100. return 1;
  101.  
  102. if (arr[i][column] == val)
  103. return 1;
  104. }
  105.  
  106. return 0;
  107. }
Runtime error #stdin #stdout 0s 2296KB
stdin
Standard input is empty
stdout
Standard output is empty