Last active
May 30, 2016 02:07
-
-
Save taznica/d21e0c4a4fa33a9203c1c705b65d7373 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <stdlib.h> | |
int roundoff(float a) | |
{ | |
int i; | |
if(a-(int)a<0.5) | |
{ | |
a=(int)a; | |
} | |
else if(a-(int)a>=0.5) | |
{ | |
a=(int)a+1; | |
} | |
return a; | |
} | |
int funMax(int array[], int len) | |
{ | |
int i, max=0; | |
for(i=0;i<len;i++) | |
{ | |
if(max<=array[i]) | |
{ | |
max=array[i]; | |
} | |
} | |
return max; | |
} | |
int funMin(int array[], int len) | |
{ | |
int i, min=20; | |
for(i=0;i<len;i++) | |
{ | |
if(min>=array[i]) | |
{ | |
min=array[i]; | |
} | |
} | |
return min; | |
} | |
void histogram(int array[], int max, int min) | |
{ | |
int i, j; | |
for(i=min;i<max+1;i++) | |
{ | |
printf("%2d ", i); | |
for(j=0;j<array[i];j++) | |
{ | |
printf("*"); | |
} | |
printf("\n"); | |
} | |
} | |
int main() | |
{ | |
int num, i; | |
int max, min; | |
scanf("%d", &num); | |
float *rawData=(float *)malloc(sizeof(float)*num); | |
int *intData=(int *)malloc(sizeof(int)*num); | |
int numberOfData[20]; | |
for(i=0;i<20;i++) | |
{ | |
numberOfData[i]=0; | |
} | |
if(rawData==NULL) | |
{ | |
puts("ERROR"); | |
return 1; | |
} | |
if(intData==NULL) | |
{ | |
puts("ERROR"); | |
return 1; | |
} | |
for(i=0;i<num;i++) | |
{ | |
scanf("%f", &rawData[i]); | |
intData[i]=roundoff(rawData[i]); | |
numberOfData[intData[i]]+=1; | |
} | |
max=funMax(intData, num); | |
min=funMin(intData, num); | |
histogram(numberOfData, max, min); | |
free(rawData); | |
free(intData); | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment