행과 열을 입력받아 2차원 배열을 동적 생성하고 1~100사이의 랜덤한 값을 할당하고 출력합니다. 그 후 배열의 메모리를 해제하는 코드를 작성하세요.
출력 예)
코드는 아래에~~~~~~~~~~~~~~~~~~~~~~~~
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#include <iostream>
#include <cstdlib> // rand() 함수를 위한 헤더
#include <ctime> // 시간을 이용한 난수 생성기 초기화를 위한 헤더
int main() {
int rows, cols;
// 사용자로부터 행과 열의 수 입력받기
std::cout << "행의 수를 입력하세요: ";
std::cin >> rows;
std::cout << "열의 수를 입력하세요: ";
std::cin >> cols;
// 2차원 배열을 위한 포인터의 포인터 생성
int** array = new int* [rows];
// 각 행에 대한 배열 생성
for (int i = 0; i < rows; i++) {
array[i] = new int[cols];
}
// 난수 생성기 초기화
std::srand(static_cast<unsigned int>(std::time(nullptr)));
// 배열에 1부터 100 사이의 임의의 값 채우기
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
array[i][j] = std::rand() % 100 + 1; // 1에서 100 사이의 값
}
}
// 배열 데이터 출력 (옵션)
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
std::cout << array[i][j] << " ";
}
std::cout << std::endl;
}
// 메모리 해제
for (int i = 0; i < rows; i++) {
delete[] array[i];
}
delete[] array;
return 0;
}
|
cs |
'프로그래밍 문제 > c++ 문제' 카테고리의 다른 글
c++ 문제 42. 입력받은 숫자 이진수 변환 (0) | 2023.12.26 |
---|---|
c++ 문제 41. 재귀함수를 활용한 피보나치 수열!! (0) | 2023.12.22 |
c++ 문제 39. 두 행렬의 곱 (0) | 2023.11.27 |
c++ 38. 배열의 가장 큰 수와 작은 수 (0) | 2023.11.24 |
c++ 문제 37. 메소드 활용 문자열 합치기 (0) | 2023.11.20 |
댓글