ProgIng - Programación en Ingeniería
Loading...
Searching...
No Matches
021_Conteno.c
Go to the documentation of this file.
1
#include <stdio.h>
2
#include <stdlib.h>
3
#include <time.h>
4
5
#define N 1000000
6
7
int
main
(
int
argc,
char
*argv[])
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
}
N
#define N
Definition
012_aleatorio.c:5
max
#define max
Definition
012_aleatorio.c:6
min
#define min
Definition
012_aleatorio.c:7
main
int main(void)
Definition
Ejemplo_035.c:15
src
20251
021_Conteno.c
Generated by
1.16.1