본문 바로가기

ETC Programmings

연습문제 13번 : 난수발생, 정수 갯수 세기

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#include <stdio.h>

#include <stdlib.h>

 

void display(int occurList[], int size);

void validateNum(int numList[], int occurList[], int occurListSize);

 

void display(int occurList[], int size){

        int i = 0;

        for (i = 0 ; i < size ; i ++)

               if (occurList[i] != 0)

                       printf("%d %d 번있었습니다.\n", i+1, occurList[i]);

}

void validateNum(int numList[], int occurList[], int occurListSize){

int i, temp;

        for (i = 0 ; i < 7 ; i ++){

               temp = numList[i];

               occurList[temp + 9] += 1;

        }

        display(occurList, occurListSize);

}

 

int setTimes(){

        int times;

 

        printf("몇번의난수를발생시키시겠습니까?");

        scanf("%d", &times);

       

        return times;

}

 

int getRandomNumber(){

        return rand() % 10;

}

void printTimes(int randArray[], int otherArray[], int size){

        int i,temp;

        for (i = 0 ; i < size ; i++){

               temp = randArray[i];

               otherArray[temp] += 1;

        }

        display(otherArray, 10);

}

int main(){

        int times, *randArray, i;

        int otherArray[10] = { 0 };

 

        times = setTimes();

        randArray = (int *) calloc(times, sizeof(int));

        for (i = 0 ; i < times ; i ++){

               int temp = getRandomNumber();

               randArray[i] = temp;

        }

        printTimes(randArray, otherArray, times);

}

 
약간 억지를 쓰는것 같은 프로그래밍이지만 - -;; 일단 List 같은 API를 만들어야겠다는 생각이 든다. 그런점에서 뭔가.. -ㅅ- 해보고 싶기는 한데.. 쩝..