다이아몬드의 개수를 묻고 화면에 출력하기
다크
질문 제목 : 다이아몬드의 개수를 묻고 화면에 출력하기다이아몬드의 개수를 입력하면 개수만큼 가로로 출력질문 내용 :
출력할 다이아몬드의 개수(1~5)를 묻고 화면에 다음과 같이 출력되도록 프로그래밍 하시오.출력할 다이아몬든의 개수를 입력하시오(1~5). - 2
**
******
**********
******* *******
***** *****
*** ***
* *
인터넷도 다 찾아보고 혼자 만들어봐도 안되네요ㅠ
#include stdio.h
int main()
{
int i,j,k;
int d;
printf(다이아몬드의 개수를 입력하시오.(1~5) = );
scanf(%d,&d);
if(d=1)
{
for(i = 0; i7; i=i+2)
{
for(k=6; ki; k=k-2)
{
printf( );
}
for(j=0; j=i; j++)
{
printf(*);
}
printf(\n);
}
for(i = 0; i5; i=i+2)
{
for(k=0; k=i; k=k+2)
{
printf( );
}
for(j=5; ji; j--)
{
printf(*);
}
printf(\n);
}
}
}
이게 제가 어떻게 만지작 거리다 나온 불완전한 소스인데 더이상 어떻게 손대야 할지를 모르겠어요.. 도와주세요~~
-
여름
도와주셔서 감사합니다^^
-
예그리나
전체적으론 피라미드형 삼각형의 각 행의 *갯수를 결정하는 for문 안에, 옆으로 d번만큼 찍는 for문이 존재하고,
또 그안에 실제로 *과 공백을 찍는 for문이 각기 하나씩. 그리고 역삼각형도 마찬가지로 또 한덩어리.. 이렇게
두 덩어리 만드시면 됨. 말은 쉬운데, 직접 짜려면 골치깨나 썩겠군요.O_o
p.s 글로 쓰려니 두서가 없는데, 이해하셨으리라 믿음 ㅠ_ㅠ 화이팅! -
나샘
if문은 빼시고 *을 찍는각 for문 전체를 감싸는 for(x=1;xd;x++) 문을 하나 더 넣으세요. *을 찍은후 개행하지 말고
각행의 떨어진 크기만큼 공백을 프린트시켜서 d번만큼 돌리게 해보세요. 예를들어
-------------------------------
전제1. 마름모 중간의 크기는 *7개로 고정.
전제2. 각 마름모사이 간격은 한칸.
-------------------------------
d 입력값이 3 이라면, 마름모를 찍는데, -
분홍이
if(d==1) 이 아닐까요?
-
새늘
if-while로 고쳐주세요.