ProgIng - Programación en Ingeniería
Loading...
Searching...
No Matches
019_BurbujaBD.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 long int n, i, j, k;
10 float X[N], max, min, aux;
11 srand(time(NULL));
12 do{
13 printf("Ingrese el numero de elementos: ");
14 scanf("%ld", &n);
15 }while(n<2||n>N);
16 printf("Ingrese le valor maximo: ");
17 scanf("%f", &max);
18 printf("Ingrese el valor minimo: ");
19 scanf("%f", &min);
20 if(max<min)
21 {
22 max*=min;
23 min=max/min;
24 max/=min;
25 }
26 printf("[%f, %f]\n", min, max);
27 printf("Desordenados.\n");
28 for(i=0; i<n; i++)
29 {
30 X[i] = ((max-min)*rand())/RAND_MAX+min;
31 printf("X[%ld] = %f\n", i+1, X[i]);
32 }
33
34 for(i=0, j=n-1; i<(n+1)/2; i++, j--)
35 {
36 for(k=i+1; k<n-i; k++)
37 {
38 if(X[i]>X[k])
39 {
40 aux = X[i];
41 X[i] = X[k];
42 X[k] = aux;
43 }
44 }
45 for(k=j-1; k>-1+i; k--)
46 {
47 if(X[j]<X[k])
48 {
49 aux = X[j];
50 X[j] = X[k];
51 X[k] = aux;
52 }
53 }
54 }
55
56 printf("Ordenados.\n");
57 for(i=0; i<n; i++)
58 printf("X[%ld] = %f\n", i+1, X[i]);
59 return 0;
60}
#define N
#define max
#define min
int main(void)
Definition Ejemplo_035.c:15