ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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;

        }

    }

Designed by Tistory.