Quick actions

cmd+k|ctrl+k

Navigation

Languages

WenhaoCui_6153876930_HW1_Q3

Snippet info

Language

Cpp

Visibility

public

Author

chriscui14

Created

2020-05-31T06:49:48Z

Updated

2020-05-31T20:28:58Z

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cmath>
using namespace std;

void printStars(int n) {
  for(int i=0;i < n;i++) {
    cout << "*";
  }
  cout << endl;
}/// printStars()

void pareto(int N, double a){
     srand(5);
    double largestVal = -10000000, smallestVal = 10000000;
    double arr[10]={0,0,0,0,0,0,0,0,0,0};
    for(int i=0;i<N;i++){
        double r = ((double)rand())/RAND_MAX;
        double value = 1/(pow(r,1/a));
        if (value > largestVal){
            largestVal = value;
        }
        if(value < smallestVal){
            smallestVal = value;
        }
    }
    for(int i=0;i<N;i++){
        double r = ((double)rand())/RAND_MAX;
        double p = 1/(pow(r,1/a));
        double pNorm = (p - smallestVal)/(largestVal - smallestVal);
        int n = floor(pNorm*10);
        switch (n){
        case 0:
            arr[0]++;
            break;
        case 1:
            arr[1]++;
            break;
        case 2:
            arr[2]++;
            break;
        case 3:
            arr[3]++;
            break;
        case 4:
            arr[4]++;
            break;
        case 5:
            arr[5]++;
            break;
        case 6:
            arr[6]++;
            break;
        case 7:
            arr[7]++;
            break;
        case 8:
            arr[8]++;
            break;
        case 9:
            arr[9]++;
            break;
        default:
            arr[9]++;
            break;
        }
    }
    for(int i=0; i<10; i++){
        int nAsterisks = floor(100 * arr[i]/N);
        printStars(nAsterisks);
    }
}

int main() {
   pareto(300, 1.24);

    
    return 0;
}
INFO