본문으로 바로가기

[C++]별 찍기(for문)

category Algorithm 2018. 6. 9. 11:00

별찍기는 종류도 다양하다.


백준에 가보면 별찍기만 22개정도다


기본적인 별찍기를 알아보겠따. 너무나도 기초적인 별찍기 코딩 입문자들의 필수코스 별찍기 C++로 알아보게다.

자바도 똑같다. 더 짧은코드를 원한다면 파이썬을 이용하자



별 찍기 - 1(https://www.acmicpc.net/problem/2438)


*
**
***
****
*****

이모양이 나와야한다.

#include<iostream>
using namespace std;
int main()
{
	int n;
	cin>>n;
	for(int i = 1 ; i <= n ; i++)
	{
		for(int j = 1 ; j <= i ; j++) cout<<"*";
		cout<<"\n";
	}
}




별 찍기 - 2(https://www.acmicpc.net/problem/2439)


    *
   **
  ***
 ****
*****

이모양이 나와야한다.

#include<iostream>
using namespace std;
int main()
{
	int n;
	cin>>n;
	for(int i = 1 ; i <= n ; i ++)
	{
		for(int j = n ; j > i ; j --) cout<<" ";
		for(int k =0 ; k < i ; k ++) cout<<"*";
		cout<<"\n";
	}
}




별 찍기 - 3(https://www.acmicpc.net/problem/2440)


*****
****
***
**
*

이모양이 나와야한다.

#include<iostream>
using namespace std;
int main()
{
	int n;
	cin>>n;
	for(int i = 0 ; i < n ; i++)
	{
		for(int j = 0 ; j < n-i ; j ++) cout<<"*";
		cout<<"\n";
	}
}




별 찍기 - 4(https://www.acmicpc.net/problem/2441)


*****
 ****
  ***
   **
    *

이모양이 나와야한다.

#include<iostream>
using namespace std;
int main()
{
	int n;
	cin>>n;
	for(int i = 0 ; i < n ; i ++)
	{
		for(int k = 0 ; k < i ; k++ ) cout<<" ";
		for(int j = 0 ; j < n-i ; j ++) cout<<"*";
		cout<<"\n";
	}
}




별 찍기 - 5(https://www.acmicpc.net/problem/2442)


    *
   ***
  *****
 *******
*********

이모양이 나와야한다.

#include <iostream>
using namespace std;
int N;
int main() 
{
	scanf("%d",&N);
	
	for(int i=0;i<N;i++)
	{
		for(int j=i 1;j<N;j++) printf(" ");
		for(int k=0;k<i*2+1;k++) printf("*");
		printf("\n");
	}
}




별 찍기 - 6(https://www.acmicpc.net/problem/2443)


*********
 *******
  *****
   ***
    *

이모양이 나와야한다.

#include <iostream>
using namespace std;
int N;
int main() 
{
	scanf("%d",&N);
	for(int i=0;i<N;i++)
	{
		for(int k=0;k<i;k++) printf(" ");
		for(int j=i*2;j<N*2-1;j++) printf("*");
		printf("\n");
	}
}




별 찍기 - 7(https://www.acmicpc.net/problem/2444)


    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *

이모양이 나와야한다.

#include <iostream>
using namespace std;
int N;
int main() 
{
	scanf("%d",&N);
	N = N*2-1;
	int o = N / 2; 
	for (int i = -o; i <= o; i++) { 
	    int k = 0;
	    for (int j = 0; j < N - abs(i); j++) {
	        printf( k < abs(i) ? " " : "*");
	        k  ; 
	    }
		printf("\n");
	}
}