ProgIng - Programación en Ingeniería
Loading...
Searching...
No Matches
Ejemplo019.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
i, j, k, n;
10
int
max
,
min
, x[
N
], h[
N
];
11
srand(time(NULL));
12
do
{
13
printf(
"Ingrese el numero de elementos: "
);
14
scanf(
"%d"
, &n);
15
}
while
(n<1||n>
N
);
16
printf(
"Ingrese el valor maximo: "
);
17
scanf(
"%d"
, &
max
);
18
printf(
"Ingrese el valor minimo: "
);
19
scanf(
"%d"
, &
min
);
20
if
(
min
>
max
)
21
{
22
if
(
max
)
23
{
24
if
(
min
)
25
{
26
min
+=
max
;
27
max
=
min
-
max
;
28
min
-=
max
;
29
}
30
else
31
{
32
min
=
max
;
33
max
= 0;
34
}
35
}
36
else
37
{
38
max
=
min
;
39
min
= 0;
40
}
41
}
42
printf(
"Desordenado.\n"
);
43
for
(i=0; i<n; i++)
44
{
45
x[i] = rand()%(
max
-
min
+1)+
min
;
46
printf(
"X[%d] = %d\n"
, i+1, x[i]);
47
}
48
// Algoritmo de Conteo
49
for
(i=0; i<(
max
-
min
+1); i++)
50
h[i]=0;
51
for
(i=0; i<n; i++)
52
h[x[i]-
min
]++;
53
for
(j=0, i=0; j<(
max
-
min
+1); j++)
54
{
55
while
(h[j])
56
{
57
x[i] = j+
min
;
58
h[j]--;
59
i++;
60
}
61
if
(i==n)
62
break
;
63
}
64
printf(
"Ordenado.\n"
);
65
for
(i=0; i<n; i++)
66
printf(
"X[%d] = %d\n"
, i+1, x[i]);
67
return
0;
68
}
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
20252
Ejemplo019.c
Generated by
1.16.1