본문 바로가기
카테고리 없음

여러가지 별모양 찍기

by ByteBridge 2013. 2. 20.
반응형

#include <iostream>
using namespace  std;
int main(void)
{
cout<<":: 여러가지 모양의 별찍기 과제 ::"<<endl;
-- *
**
***
****
--
for(int i=0;i<4;i++)
{
for (int j=0;j<i+1;j++)
{
cout<<"*";
}
cout<<endl;
}
cout<<endl;cout<<endl;
--   *
 **
    ***
   ****
--
for(int i=0;i<4;i++)//4행의 별을 찍기위해 4번 for 문 돌림
{
for (int j=0;j<4-i;j++)//4-i 번만큼 공백을 주기위하여
{
cout<<" ";
}
for (int k=0;k<i+1;k++)
{
cout<<"*";
}
cout<<endl;
}
cout<<endl;cout<<endl;
-- 
****
***
**
*
--
for (int i=0;i<4;i++)
{
for (int j=0;j<4-i;j++)
{
cout<<"*";
}
cout<<endl;
}
cout<<endl;cout<<endl;
  --
****
***
**
*
--
for (int i=0;i<4;i++)
{
for (int j=0;j<i;j++)//공백
{
cout<<" ";
}
for (int j=0;j<4-i;j++)//별을 찍는다.
{
cout<<"*";
}
cout<<endl;
}
cout<<endl;cout<<endl;
--
      *
 ***
*****
   *******
--
-- i값이 1씩 증가시 j 값은 2배씩 증가하여야한다.--
for(int i=0;i<4;i++)
{
for(int j=4-1;j>i;j--)
{
cout<<" ";
}
for (int k=0;k<(2*i)+1;k++)
{
cout<<"*";
}
cout<<endl;
}
cout<<endl;
////마름모 출력
//--**********************************************************************--
//-- 마름모를 출력하기 위해서는 삼각형을 두번에 나눠서 출력한다고 
//생각하면 된다.
//                                                                     --
//--**********************************************************************--
//i는 출력할 공백의 개수이며 m은 별의 개수이다.
int m=1;
for (int i=5;i>=0;i--, m +=2)
{
for (int j=0;j<i;j++)//i값에 따라 공백 표시
{
cout<<" ";
}
for (int k=0;k<m;k++)//공백에 이어 별을 m의 값만큼 출력한다..
{
cout<<"*";
}
cout<<endl;
}
m -=4;//m의 값을 4만큼 빼서 별의 개수를 줄인다.**제일처음의 for 문에서 m이 2만큼 증가한후 for 문이 종료되기 때문에 4만큼 빼는것이다.
for (int i=1;i<=5;i++,m -=2)//for문에서의 i의 값이 1 씩 증가하며,m의 값이 2씩 감소,i는 출력할 공백의 개수이며 ,m은 별의 개수
{
for (int j=0;j<i;j++)//i값에 따라 공백을 출력
{
cout<<" ";
}
for (int k=0;k<m;k++)//공백에 이어 별을 m의 값만큼 출력함
{
cout<<"*";
}
cout<<endl;
}
return 0;
}

반응형