ProgIng - Programación en Ingeniería
Loading...
Searching...
No Matches
020_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
7
int
main
(
int
argc,
char
*argv[])
8
{
9
long
int
n, i, j, k;
10
float
X[
N
],
max
,
min
;
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; i<n-1; i++)
35
for
(j=(i%2?n-1-(i+1)/2:i/2+1); (i%2?j>i/2:j<(n-i/2)); i%2?j--:j++)
36
{
37
k = i%2?n-(i+1)/2:i/2;
38
if
(i%2?X[k]<X[j]:X[k]>X[j])
39
{
40
X[k]*=X[j];
41
X[j]=X[k]/X[j];
42
X[k]/=X[j];
43
}
44
}
45
printf(
"Ordenados.\n"
);
46
for
(i=0; i<n; i++)
47
printf(
"X[%ld] = %f\n"
, i+1, X[i]);
48
return
0;
49
}
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
20251
020_BurbujaBD.c
Generated by
1.16.1