Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- void choinka(int szerokosc, int poziomy)
- {
- //zmienne
- int x, y, z, g, przesuniecie = 0, spacje = poziomy * poziomy, lewapodst, prawapodst, spacje_pien = spacje + (szerokosc / 2);
- //petla od poziomow
- for(z = 0; z < poziomy; z++)
- {
- //petla od wysokosci trojkata
- for(x = szerokosc/2 + przesuniecie; x < szerokosc + przesuniecie; x++)
- {
- //petla od spacji po lewej stronie (wyrownanie trojkata)
- for(g = 0; g < spacje; g++)
- {
- printf(" ");
- }
- //petla od szerokosci trojkata
- for(y = 0 - przesuniecie; y < szerokosc + przesuniecie; y++)
- {
- lewapodst = 0 - przesuniecie;
- prawapodst = szerokosc + przesuniecie;
- if( z == 0 || z == poziomy - 1)
- {
- if(x == szerokosc-1 + przesuniecie || x == y || x + y == szerokosc-1 )
- {
- printf("* ");
- }
- else
- {
- printf(" ");
- }
- }
- else
- {
- if( (x == szerokosc-1 + przesuniecie && ( y <= lewapodst + 4 || y >= prawapodst - 5 ) ) || x == y || x + y == szerokosc-1 )
- {
- printf("* ");
- }
- else
- {
- printf(" ");
- }
- }
- }
- printf("\n");
- }
- przesuniecie += 2;
- spacje -= 2 * 2;
- }
- //petla od wysokosci pnia
- szerokosc = 5;
- for(x = 0; x < szerokosc - 1; x++)
- {
- //petla od spacji po lewej stronie (wyrownanie trojkata)
- for(g = 0; g < spacje_pien / 2; g++) // tu powinna byc zmienna jakas w stosunku do szerokosci ostatniego trojkata i liczby poziomow
- {
- printf(" ");
- }
- //petla od szerokosci pnia
- for(y = 0; y < szerokosc; y++)
- {
- if( x == szerokosc - 2 || y == 0 || y == szerokosc - 1 )
- {
- printf("* ");
- }
- else
- {
- printf(" ");
- }
- }
- printf("\n");
- }
- }
- int main()
- {
- int szerokosc, poziomy;
- printf("Podaj szerokosc pierwszego:");
- scanf("%d", &szerokosc);
- printf("Podaj ilosc poziomow:");
- scanf("%d", &poziomy);
- choinka(szerokosc, poziomy);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement