Advertisement
Guest User

zadatak 3

a guest
May 24th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4.  
  5. #define DIM_TABLE 12
  6. #define DIM_DIJAGONALE 2*DIM_TABLE-1
  7.  
  8. int kp[DIM_TABLE];
  9. int vr[DIM_TABLE],dij1[DIM_DIJAGONALE],dij2[DIM_DIJAGONALE];
  10. int rn;
  11.  
  12. void stampaj(){
  13. int i,j;
  14. printf("\n");
  15. for(i=0;i<DIM_TABLE;i++)
  16. {
  17. for(j=0;j<DIM_TABLE;j++)
  18. if(kp[j]==i)
  19. printf("1");
  20. else
  21. printf("0");
  22. printf("\n");
  23. }
  24. }
  25.  
  26. void kontolna_stampa(int kn)
  27. {
  28. int ii;
  29. stampaj();
  30. printf("Kolona u koju se postavlja top:%5d\n",kn);
  31. printf("kp niz");
  32. for(ii=0;ii<DIM_TABLE;ii++)
  33. printf("%2d",kp[ii]);
  34. printf("\n");
  35. printf("kraj kp\n");
  36. for(ii=0;ii<DIM_DIJAGONALE;ii++)
  37. printf("%2d",dij1[ii]);
  38. printf("\n");
  39. printf("kraj dij1\n");
  40. for(ii=0;ii<DIM_DIJAGONALE;ii++)
  41. printf("%2d",dij2[ii]);
  42. printf("\n");
  43. printf("kraj dij2\n");
  44. }
  45.  
  46. int postavi(int kn){
  47. int i;
  48. for(i=0;i<DIM_TABLE;i++){
  49. if(!vr[i]&&!dij1[i+kn]&&!dij2[kn-i+DIM_TABLE-1])
  50. {
  51. if(kn<DIM_TABLE-1){
  52. kp[kn]=i;
  53. vr[i]=1;
  54. dij1[i+kn]=1;
  55. dij2[kn-i+DIM_TABLE-1]=1;
  56. kontolna_stampa(kn);
  57. if(postavi(kn+1))
  58. return (1);
  59. vr[i]=0;
  60. dij1[i+kn]=0;
  61. dij2[kn-i+DIM_TABLE-1]=0;
  62. }
  63. else{
  64. kp[kn]=i;
  65. stampaj();
  66. return(1);
  67. }
  68. }
  69. }
  70. return(0);
  71. }
  72.  
  73. void main()
  74. {
  75. int i;
  76. rn=0;
  77. for(i=0;i<DIM_TABLE;i++)
  78. vr[i]==0;
  79. for(i=0;i<DIM_DIJAGONALE;i++)
  80. dij1[i]=dij2[i]=0;
  81. if(!postavi(0))
  82. printf("Nema resenja\n");
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement