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

Function Documentation

◆ main()

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

Definition at line 7 of file 019_BurbujaBD.c.

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