이 튜토리얼에서는 배열 내부에 주어진 데이터로 히스토그램을 만드는 프로그램에 대해 논의할 것입니다.
이를 위해 배열 내부에 정수 값이 제공됩니다. 우리의 임무는 좌표 x와 y의 값을 배열에 제공된 값과 동일하게 유지하는 히스토그램을 그리는 것입니다.
예
#include <bits/stdc++.h> using namespace std; void make_histogram(int arr[], int n){ int maxEle = *max_element(arr, arr + n); for (int i = maxEle; i >= 0; i--) { cout.width(2); cout << right << i << " | "; for (int j = 0; j < n; j++) { if (arr[j] >= i) cout << " x "; else cout << " "; } cout << "\n"; } for (int i = 0; i < n + 3; i++) cout << "---"; cout << "\n"; cout << " "; for (int i = 0; i < n; i++) { cout.width(2); cout << right << arr[i] << " "; } } int main() { int arr[10] = { 10, 9, 12, 4, 5, 2, 8, 5, 3, 1 }; int n = sizeof(arr) / sizeof(arr[0]); make_histogram(arr, n); return 0; }
출력
12 | x 11 | x 10 | x x 9 | x x x 8 | x x x x 7 | x x x x 6 | x x x x 5 | x x x x x x 4 | x x x x x x x 3 | x x x x x x x x 2 | x x x x x x x x x 1 | x x x x x x x x x x 0 | x x x x x x x x x x --------------------------------------- 10 9 12 4 5 2 8 5 3 1