Advertisement
Guest User

Untitled

a guest
Jan 17th, 2020
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.52 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void choinka(int szerokosc, int poziomy)
  5. {
  6. //zmienne
  7. int x, y, z, g, przesuniecie = 0, spacje = poziomy * poziomy, lewapodst, prawapodst, spacje_pien = spacje + (szerokosc / 2);
  8.  
  9. //petla od poziomow
  10. for(z = 0; z < poziomy; z++)
  11. {
  12. //petla od wysokosci trojkata
  13. for(x = szerokosc/2 + przesuniecie; x < szerokosc + przesuniecie; x++)
  14. {
  15. //petla od spacji po lewej stronie (wyrownanie trojkata)
  16. for(g = 0; g < spacje; g++)
  17. {
  18. printf(" ");
  19. }
  20.  
  21. //petla od szerokosci trojkata
  22. for(y = 0 - przesuniecie; y < szerokosc + przesuniecie; y++)
  23. {
  24. lewapodst = 0 - przesuniecie;
  25. prawapodst = szerokosc + przesuniecie;
  26. if( z == 0 || z == poziomy - 1)
  27. {
  28. if(x == szerokosc-1 + przesuniecie || x == y || x + y == szerokosc-1 )
  29. {
  30. printf("* ");
  31. }
  32. else
  33. {
  34. printf(" ");
  35. }
  36. }
  37. else
  38. {
  39. if( (x == szerokosc-1 + przesuniecie && ( y <= lewapodst + 4 || y >= prawapodst - 5 ) ) || x == y || x + y == szerokosc-1 )
  40. {
  41. printf("* ");
  42. }
  43. else
  44. {
  45. printf(" ");
  46. }
  47. }
  48. }
  49. printf("\n");
  50. }
  51.  
  52. przesuniecie += 2;
  53. spacje -= 2 * 2;
  54. }
  55.  
  56.  
  57. //petla od wysokosci pnia
  58. szerokosc = 5;
  59. for(x = 0; x < szerokosc - 1; x++)
  60. {
  61. //petla od spacji po lewej stronie (wyrownanie trojkata)
  62. for(g = 0; g < spacje_pien / 2; g++) // tu powinna byc zmienna jakas w stosunku do szerokosci ostatniego trojkata i liczby poziomow
  63. {
  64. printf(" ");
  65. }
  66.  
  67. //petla od szerokosci pnia
  68. for(y = 0; y < szerokosc; y++)
  69. {
  70. if( x == szerokosc - 2 || y == 0 || y == szerokosc - 1 )
  71. {
  72. printf("* ");
  73. }
  74. else
  75. {
  76. printf(" ");
  77. }
  78. }
  79. printf("\n");
  80. }
  81. }
  82. int main()
  83. {
  84. int szerokosc, poziomy;
  85.  
  86. printf("Podaj szerokosc pierwszego:");
  87. scanf("%d", &szerokosc);
  88. printf("Podaj ilosc poziomow:");
  89. scanf("%d", &poziomy);
  90.  
  91. choinka(szerokosc, poziomy);
  92.  
  93. return 0;
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement