示例#1
0
int main(int argc, char **argv)
{
      Stat_T data;

      stat_init(&data);
      while (--argc)
      {
            double ftmp;

            ftmp = atof(*(++argv));
            stat_add(ftmp, &data);
      }
      puts("\nBefore \"Olympic\" filtering\n");
      printf("Minimum datum             = %g\n", stat_min(&data));
      printf("Maximum datum             = %g\n", stat_max(&data));
      printf("Number of samples         = %d\n", stat_count(&data));
      printf("Arithmetic mean           = %g\n", stat_mean(&data));
      printf("Geometric mean            = %g\n", stat_gmean(&data));
      printf("Harmonic mean             = %g\n", stat_hmean(&data));
      printf("Standard deviation (N)    = %g\n", stat_stddevP(&data));
      printf("Standard deviation (N-1)  = %g\n", stat_stddevS(&data));
      printf("Variance                  = %g\n", stat_var(&data));
      printf("Population coeff. of var. = %g%%\n", stat_varcoeffP(&data));
      printf("Sample coeff. of var.     = %g%%\n", stat_varcoeffS(&data));

      puts("\nAfter \"Olympic\" filtering\n");
      printf("stat_olympic() returned %s\n", stat_olympic(&data) ?
            "ERROR" : "SUCCESS");
      printf("Minimum datum             = %g\n", stat_min(&data));
      printf("Maximum datum             = %g\n", stat_max(&data));
      printf("Number of samples         = %d\n", stat_count(&data));
      printf("Arithmetic mean           = %g\n", stat_mean(&data));
      printf("Geometric mean            = %g\n", stat_gmean(&data));
      printf("Harmonic mean             = %g\n", stat_hmean(&data));
      printf("Standard deviation (N)    = %g\n", stat_stddevP(&data));
      printf("Standard deviation (N-1)  = %g\n", stat_stddevS(&data));
      printf("Variance                  = %g\n", stat_var(&data));
      printf("Population coeff. of var. = %g%%\n", stat_varcoeffP(&data));
      printf("Sample coeff. of var.     = %g%%\n", stat_varcoeffS(&data));

      return EXIT_SUCCESS;
}
示例#2
0
int main(int argc, const char * argv[])
{
    int arr[10] = {2, -3,6,5,4,7,3,2,1,2};
    //    printf("Number of inversions %d\n", count_inversion(arr, 8));
    //    for (int i = 0; i < 7; i++) {
    //        printf("%d \n", arr[i]);
    //    }
    
    MaxsubarrayResult result = maxsubarray(arr, 8);
    printf("left: %d, right: %d, sum: %d\n", result.lo, result.hi, result.sum);
    
    result = maxsubarray_linear(arr, 8);
    printf("left: %d, right: %d, sum: %d\n", result.lo, result.hi, result.sum);
    
    printf("Minimum of the array: %d\n", stat_min(arr, 10));
    printf("Maximum of the array: %d\n", stat_max(arr, 10));
    printf("%d minimum of array: %d\n", 7, stat_ith_min(arr, 10, 7));
    
    int out[10] = {};
    sort_counting(arr, 10, -3, 7, out);
    for (int i = 0; i < 10; i++) {
        printf("%d \n", out[i]);
    }
    
    IntegerStack stack;
    stack_init(&stack, 10);
    stack_push(&stack, 4);
    stack_push(&stack, 8);
    stack_push(&stack, -3);
    printf("Stack top: %d\n", stack.top);
    int pop = 1;
    stack_pop(&stack, &pop);
    stack_pop(&stack, &pop);
    printf("Stack pop: %d\n", pop);
    stack_destroy(&stack);
    
    IntegerQueue q;
    queue_init(&q, 10);
    
    queue_enqueue(&q, 10);
    printf("Dequeue result: %d, Key: %d\n", queue_dequeue(&q, &pop), pop);
    printf("Dequeue result: %d, Key: %d\n", queue_dequeue(&q, &pop), pop);
    
    queue_destroy(&q);
    
    return 0;
}