Advertisement
Guest User

spirala.c

a guest
Feb 7th, 2013
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int duljina;
  4. int *polje;
  5. int i, j, k, l, g;
  6. int lajna = 1;
  7. int velicina;
  8. int pola;
  9. int ekstra_lijevo;
  10. int ekstra_desno;
  11. int relativna_duljina;
  12. int pozicija;
  13. int koji_desno;
  14. int carry;
  15. int carry_lijevo;
  16.  
  17. main() {
  18. printf("daj broj\n");
  19. scanf("%d", &duljina);
  20. velicina = duljina*duljina;
  21. polje = malloc(sizeof(int)*velicina);
  22.  
  23. pola = duljina/2;
  24.  
  25. k=1;
  26. for ( g=0; g<duljina;g++) {
  27. polje[g] = k;
  28. k++;
  29. }
  30.  
  31. k=(duljina-1)*4;
  32. for ( g=duljina; g<duljina*2-1; g++) {
  33. polje[g] = k;
  34. k++;
  35. }
  36. g=duljina*2-1;
  37. polje[g] = k - ( (pola-1)*8+5) - 1;
  38. g++;
  39. //printf("%d\n", g);
  40. relativna_duljina = duljina - 3;
  41.  
  42. lajna = 3;
  43. for ( ; lajna<(pola+2); ) {
  44. k = k + relativna_duljina * 3 - 2;
  45. printf("%d\n", k);
  46. for ( ekstra_lijevo=lajna-2; ekstra_lijevo>0; ) {
  47. printf("%d lajna\n", lajna);
  48. printf("%d lijevo\n", ekstra_lijevo);
  49. printf("k %d\n", k);
  50. polje[g] = k - ( (pola-ekstra_lijevo)*8 + ekstra_lijevo);
  51. g++;
  52. ekstra_lijevo--;
  53. }
  54. pozicija=g;
  55. for ( ; g<pozicija+relativna_duljina; g++) {
  56. polje[g] = k;
  57. k++;
  58. }
  59. k--;
  60. carry=0;
  61. for ( ekstra_desno=lajna-1; ekstra_desno>0; ) {
  62. //printf("%d lajna\n", lajna);
  63. //printf("%d desno\n", ekstra_desno);
  64. //printf("k %d\n", k);
  65. polje[g] = k - ((pola-ekstra_desno)*8+5+carry);
  66. g++;
  67. carry = (pola-ekstra_desno)*8+carry+5;
  68. ekstra_desno--;
  69. }
  70. k++;
  71. lajna++;
  72. relativna_duljina = relativna_duljina - 2;
  73. }
  74.  
  75. for (j=0; j<velicina;j=j+duljina){
  76. for ( i=0; i<velicina/duljina; i++) {
  77. printf("%d ", polje[(i+j)]);
  78. }
  79. printf("\n");
  80. }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement