-
[C++] ⭐️100개의 임의의 정수(0~0)발생시킨 후 숫자의 출현 빈도수 세기C++/문제풀이 2022. 6. 14. 15:31
실습 8-3번 문제
100개의 임의의 정수(0~0)발생시킨 후 숫자의 출현 빈도수 세기
void printArray(int inumbers[], int from, int to); void randomCounts(int count[], int size); int findMaxIndex(int count[], int size); void grapg(int count[], int size);
👆함수 이용
// // main.cpp // // Created by yeonsu on 2022/06/14. // // 100개의 임의의 정수(0~0)발생시킨 후 숫자의 출현 빈도수 세기 #include <iostream> #include <ctime> //rand 함수 #include <iomanip> using namespace std; void printArray(int inumbers[], int from, int to); void randomCounts(int count[], int size); int findMaxIndex(int count[], int size); void grapg(int count[], int size); int main(){ cout << "\n\n100개의 임의의 정수(0~9)발생 시킨 후 숫자의 출현 빈도수 세기\n\n" << endl; int count[10] = { 0 }; int max = 0; srand(time(NULL)); randomCounts(count, 10); max = findMaxIndex(count, 10); printArray(count, 0, 9); cout << "가장 많이 생선된 난수는" << max << "이며 횟수는 " << count[max] << "입니다" << endl; cout << endl << endl; cout << "graph" << endl; grapg(count, 10); return 0; } // 일차원 배열 출력(인덱스 + 구분자 + 배열) void printArray(int inumbers[], int from, int to){ //인덱스 추력 for(int i = from; i<=to; i++) cout << setw(5) << i; cout << endl; cout << " "; //구분자 출력 for (int i = from; i <=to; i++) cout << "----+"; cout << endl; //배열 출력 for (int i = from; i <= to; i++) cout << setw(5) << inumbers[i]; cout << endl << endl; } void randomCounts(int count[], int size){ srand((unsigned)time(NULL)); //난수 발생 int random = 0; for (int i = 0; i < 100; i++){ random = rand()% 10; count[random]++; } } int findMaxIndex(int count[], int size) { int findMax = 0; for (int i = 0; i < size; i++) if (count[i] > count[findMax]) findMax = i; return findMax; } void grapg(int count[], int size) { for (int i = 0; i < 10; i++) { cout << " " << i << ": "; for(int s=0; s<count[i]; s++){ cout << "*"; } cout << endl; } }
실행 결과
Key Point
1.
for (int i = 0; i < 100; i++){
random = rand()% 10;
count[random]++; //빈도수 체크
2.
int findMaxIndex(int count[], int size)
{
int findMax = 0;
for (int i = 0; i < size; i++)
if (count[i] > count[findMax])
findMax = i;
return findMax;
}
3.
void grapg(int count[], int size) {
for (int i = 0; i < 10; i++) {
cout << " " << i << ": ";
for(int s=0; s<count[i]; s++){
cout << "*";
}
cout << endl;
}
}
'C++ > 문제풀이' 카테고리의 다른 글
[C++] 난수 발생 시킨 뒤, 숫자의 출현 빈도수 세기(이차원 배열) (0) 2022.06.14 [C++] 2차원 배열에서 최대, 최소값 구하기 (0) 2022.06.14 [C++] 배열을 역순으로 만들기 (0) 2022.06.14 [C++] 연도를 입력한 뒤 월별 일수 출력하기 (0) 2022.06.14 [C++] 극장 좌석 예약 시스템(2차원 배열) (0) 2022.06.13