[C++] 2차원배열을 써서 구구단을 만들어보자
2022. 5. 31. 00:28ㆍ코딩 1막 <C++개념편>/코딩 1막 <C++응용편>
728x90
#include <iostream>
using namespace std;
/*
// 2차원배열_구구단만들기
void Func(int arr[]) // 1차원배열은 매개변수로 넣을 때, 대괄호안에 크기를 표시하지 않아도 되지만
{
}
// 2차원배열은 매개변수로 넣을 때, 크기를 표시해야한다
// 그 이유는 1차원배열은 어차피 요소의 하나의 크기가 int(4바이트)임을 알 수 있지만, 2차원 배열은 요소 하나의 크기가 얼마가 될지 알 수 없기 때문
*/
void InsertGugudan(int arr[][10]) //2차원 배열안에 구구단 값들을 매칭시켜주는 함수
{ //여기서 바뀐값이 원본에도 바뀌는 이유는 배열의 매개변수는 주소를 전달하기때문 (call by address)
for (int i = 2; i < 10; i++)
{
for (int j = 1; j < 10; j++)
{
arr[i][j] = i * j;
}
}
}
void Gugudan(int arr[][10], int dan) //매개변수 dan에 따라 해당 단수를 출력해주는 함수
{
for (int i = 1; i < 10; i++)
{
cout << arr[dan][i] << " ";
}
cout << endl;
}
void Gugudan(int arr[][10]) //함수 오버로딩하여, 단수를 입력받지 않았을 경우 구구단 전체를 출력해주는 함수
{
for (int i = 2; i < 10; i++)
{
Gugudan(arr, i);
}
}
void main()
{
int guguArray[10][10];
InsertGugudan(guguArray);
cout << "3 * 5 = " << guguArray[3][5] << endl; //이미 값이 다 매칭이 되어있으므로 15가 출력됨
cout << "2단 출력" << endl;
Gugudan(guguArray, 2);
cout << "모두 출력" << endl;
Gugudan(guguArray);
}
728x90
'코딩 1막 <C++개념편> > 코딩 1막 <C++응용편>' 카테고리의 다른 글
[C++] 특정한 값을 출력하는 구조체를 만들어보자 (0) | 2022.06.02 |
---|---|
[C++] 구조체를 써서 축구팀을 만들어 보자 (0) | 2022.05.31 |
[C++] Factorial 만들기 (0) | 2022.05.31 |
[C++] 함수오버로딩을 써서 계산기 함수를 만들어 보자 (0) | 2022.05.31 |
[C++] 다중for문을 써서 별을 찍어보자 (0) | 2022.05.31 |