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
7int 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}
#define N
#define max
#define min
int main(void)
Definition Ejemplo_035.c:15