#pragma once
#ifndef ___DynamicMemoryAllocation
#define ___DynamicMemoryAllocation
#include <cstdio>
//int 형 2차원 배열 동적 할당 함수
int** alloc2DInt(int rows, int cols)
{
if (rows <= 0 || cols <= 0) return NULL;
int** mat = new int*[rows]; //포인터 변수를 저장할 배열
for (int i = 0; i < rows; i++)
mat[i] = new int[cols]; //실제 각 행의 데이터를 저장할 배열
return mat;
}
//int 형 2차원 배열 동적 해제 함수
void free2DInt(int **mat, int rows, int cols = 0)
{
if (mat != NULL) {
for (int i = 0; i < rows; i++)
delete[] mat[i];
delete[] mat;
}
}
//동적 생성된 2차원 배열을 랜덤으로 초기화하는 함수
void set2DRandom(int** mat, int rows, int cols)
{
for (int i = 0; i < rows; i++)
for (int j = 0; j < cols; j++)
mat[i][j] = rand() % 100;
}
//2차원 배열을 화면으로 보기 좋게 출력하는 함수
void print2DInt(int **mat, int rows, int cols)
{
printf("행의 수 = %d, 열의 수 = %d \n", rows, cols);
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++)
printf("%4d", mat[i][j]);
printf("\n");
}
}
#endif // !___DynamicMemoryAllocation
'Programming > DS SorceCode' 카테고리의 다른 글
LinkedStack.h : 연결된 스택 클래스 구현 (0) | 2019.03.22 |
---|---|
Node_Student.h : 연결된 스택을 위한 노드 클래스 구현 파일 (0) | 2019.03.22 |
BankSimulator.h : 은행 시뮬레이션 클래스 (0) | 2019.03.22 |
CustomerQueue.h : 하나의 고객 정보를 관리하기 위한 클래스 (0) | 2019.03.22 |
CircularDeque.h : CircularQueue 클래스를 상속해서 구현한 원형 덱 클래스 (0) | 2019.03.22 |