ProgIng - Programación en Ingeniería
Loading...
Searching...
No Matches
Ejemplo019.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
Include dependency graph for Ejemplo019.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 Ejemplo019.c.

Function Documentation

◆ main()

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

Definition at line 7 of file Ejemplo019.c.

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