ProgIng - Programación en Ingeniería
Loading...
Searching...
No Matches
021_Conteno.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
Include dependency graph for 021_Conteno.c:

Go to the source code of this file.

Macros

#define N   1000000

Functions

int main (int argc, char *argv[])

Macro Definition Documentation

◆ N

#define N   1000000

Definition at line 5 of file 021_Conteno.c.

Function Documentation

◆ main()

int main ( int argc,
char * argv[] )

Definition at line 7 of file 021_Conteno.c.

8{
9 int n, min, max, X[N], i, j, rg;
10 do{
11 printf("Ingrese el numero de elementos: ");
12 scanf("%d", &n);
13 }while(n<1||n>N);
14 printf("Ingrese el valor maximo: ");
15 scanf("%d", &max);
16 printf("Ingrese el valor minimo: ");
17 scanf("%d", &min);
18 if(min>max)
19 {
20 max^=min;
21 min^=max;
22 max^=min;
23 }
24 rg = max-min;
25 srand(time(NULL));
26 for(i=0; i<n; i++)
27 X[i] = (rand()%(max-min+1))+min;
28 printf("Desordenado.\n");
29 for(i=0; i<n; i++)
30 printf("X[%d] = %d\n", i+1, X[i]);
31 int h[rg+1];
32 for(i=0; i<rg+1; i++)
33 h[i] = 0;
34 for(i=0; i<n; i++)
35 h[X[i]-min]++;
36 printf("Histograma\n");
37 for(i=0; i<rg+1; i++)
38 printf("h[%d] = %d\n", min+i, h[i]);
39 for(i=0, j=0; i<n; )
40 {
41 while(!h[j])
42 j++;
43 while(h[j])
44 {
45 h[j]--;
46 X[i++] = j+min;
47 }
48 }
49
50 printf("Ordenado.\n");
51 for(i=0; i<n; i++)
52 printf("X[%d] = %d\n", i+1, X[i]);
53 return 0;
54}
#define N
#define max
#define min