ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 순서대로 채우기, 격자로서의 2차원 배열_220713
    데일리 codeup/이차원 배열 2022. 7. 13. 22:16

    순서대로 채우기


    배열로 사각형 만들기

    배열을 만들어서 아래 조건을 만족해 출력하는 프로그램을 작성해보세요.

    • 첫 번째 행과 첫 번째 열은 모두 1로 초기화 합니다.
    • 나머지 칸들은 바로 위의 값과 바로 왼쪽의 값을 더합니다.
    • 크기는 5 * 5 입니다
    #include <iostream>
    using namespace std;
    int main(){
        int arr[5][5];
        for(int i=0;i<5;i++){
            for(int j=0;j<5;j++){
                if(i==0||j==0)  arr[i][j] = 1;
                else    arr[i][j] = arr[i-1][j]+ arr[i][j-1];
            }
        }
        for(int i=0;i<5;i++){
            for(int j=0;j<5;j++)    cout<<arr[i][j]<<' ';
            cout<<endl;
        }
        return 0;
    }

    파스칼의 삼각형

    행의 크기가 정수 n으로 주어집니다. 행의 크기가 n인 파스칼 삼각형을 출력하는 프로그램을 작성해보세요. 파스칼 삼각형이란 다음과 같은 형태로 나타나며, (i, j)에 적힌 숫자가 (i - 1, j - 1)에 적힌 숫자와 (i - 1, j)에 적힌 숫자의 합으로 나타납니다.

    n = 5일때의 예

    1
    1 1
    1 2 1
    1 3 3 1
    1 4 6 4 1
    #include <iostream>
    using namespace std;
    int main(){
        int n;
        cin >> n;
        int arr[n][n];
        for(int i=0;i<n;i++){
            for(int j=0;j<i+1;j++){
                if(j==0||i==j)  arr[i][j] = 1;
                else    arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
            }
        }
        for(int i=0;i<n;i++){
            for(int j=0;j<i+1;j++)    cout<<arr[i][j]<<' ';
            cout<<endl;
        }
        return 0;
    }

    격자로 사각형 만들기

    아래 조건을 만족하도록 격자를 만들어 출력하는 프로그램을 작성해보세요.

    • 첫 번째 행과 첫 번째 열에는 모두 1이 들어갑니다.
    • 나머지 칸들은 바로 위의 값과 바로 왼쪽 값, 그리고 왼쪽 위의 값의 합이 되어야 합니다.
    • 크기는 n x n 입니다.

    입력

    5

    출력:

    1 1 1 1 1
    1 3 5 7 9
    1 5 13 25 41
    1 7 25 63 129
    1 9 41 129 321
    #include <iostream>
    using namespace std;
    int main(){
        int n;
        cin >> n;
        int arr[n][n];
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                if(i==0||j==0)  arr[i][j] = 1;
                else    arr[i][j] = arr[i-1][j] + arr[i][j-1]+arr[i-1][j-1];
            }
        }
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++)    cout<<arr[i][j]<<' ';
            cout<<endl;
        }
        return 0;
    }

    격자로서의 2차원 배열


    동전이 있는 위치

    n * n 크기의 격자 위에 m개의 동전이 각각 어느 위치에 있는지 주어졌을 때, 현재 격자의 상태를 출력하는 프로그램을 작성해보세요.

    입력

    2 3
    1 1
    1 2
    2 2

    출력

    1 1
    0 1
    #include <iostream>
    using namespace std;
    int main(){
        int n,m,r,c;
        cin >> n >> m;
        int arr[n][n] = {};
        for(int i=0;i<m;i++){
            cin >> r >> c;
            arr[r-1][c-1] = 1;
        }
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++)    cout<<arr[i][j]<<' ';
            cout<<endl;
        }
        return 0;
    }

    격자에 점 그리기

    m개의 점이 주어졌을 때 각각의 점을 n * n 크기의 격자에 번호를 표시하여 출력하는 프로그램을 작성해보세요. 점의 번호는 정보가 따로 주어지진 않고 입력된 순서대로 부여됩니다. 즉 첫 번째로 입력된 점은 1, k번째로 입력된 점은 k입니다.

    입력

    2 3
    1 1
    1 2
    2 2

    출력

    1 2
    0 3
    #include <iostream>
    using namespace std;
    int main(){
        int n,m,r,c,cnt = 1;
        cin >> n >> m;
        int arr[n][n] = {};
        for(int i=0;i<m;i++){
            cin >> r >> c;
            arr[r-1][c-1] = cnt;
            cnt++;
        }
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++)    cout<<arr[i][j]<<' ';
            cout<<endl;
        }
        return 0;
    }

    격자 모양 출력하기

    n x n 크기의 격자의 칸 위에 m 개의 점이 놓여져 있습니다.

    각 점의 크기는 해당 칸의 행 번호와 열 번호의 곱이 됩니다.

    각 점의 위치에 해당하는 정보가 주어질 때, 격자의 모양을 출력하는 프로그램을 작성해보세요.

    단, 행과 열의 번호는 1부터 시작됩니다.

    입력

    3 3
    1 1
    3 2
    3 3

    출력

    1 0 0
    0 0 0
    0 6 9
    #include <iostream>
    using namespace std;
    int main(){
        int n,m,r,c;
        cin >> n >> m;
        int arr[n][n] = {};
        for(int i=0;i<m;i++){
            cin >> r >> c;
            arr[r-1][c-1] = r*c;
        }
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++)    cout<<arr[i][j]<<' ';
            cout<<endl;
        }
        return 0;
    }

    '데일리 codeup > 이차원 배열' 카테고리의 다른 글

    2차원 배열과 패턴_220713  (0) 2022.07.13
    새로운 2차원 배열의 선언_220713  (0) 2022.07.13
    배열의 합_220713  (0) 2022.07.13

    댓글

Designed by Tistory.