ProgIng - Programación en Ingeniería
Loading...
Searching...
No Matches
Ejemplo023.c
Go to the documentation of this file.
1#include <stdio.h>
2#include <stdlib.h>
3#include <time.h>
4#include <math.h>
5
6#define N 1000
7
8int main(int argc, char *argv[])
9{
10 int n, i, flag, op;
11 float max, min, aux, x[N], vmx, vmn, md, st, z[N], cn, nr;
12 srand(time(NULL));
13 do{
14 printf("Ingrese el numero de datos: ");
15 scanf("%d", &n);
16 }while(n<1||n>N);
17 printf("Ingrese el numero maximo: ");
18 scanf("%f", &max);
19 printf("Ingrese el numero minimo: ");
20 scanf("%f", &min);
21 if(max<min)
22 {
23 aux = max;
24 max = min;
25 min = aux;
26 }
27 for(i=0, vmn=max, vmx=min, md=0, st=0; i<n; i++)
28 {
29 x[i] = ((max-min)*rand())/RAND_MAX+min;
30 printf("X[%d] = %f\n", i+1, x[i]);
31 if(vmn>x[i])
32 vmn = x[i];
33 if(vmx<x[i])
34 vmx = x[i];
35 md+=x[i];
36 st+=(x[i]*x[i]);
37 }
38 md/=n;
39 st/=n;
40 st-=(md*md);
41 st=sqrt(st);
42 printf("Max: %f\n Min = %f\n Media = %f\n D. E. = %f\n",
43 vmx, vmn, md, st);
44 flag = 0;
45 printf("Desea centrar: ");
46 scanf("%d", &op);
47 if(op)
48 {
49 printf("Por rango: ");
50 scanf("%d", &op);
51 flag|=(op?1:4);
52 }
53 printf("Desea normalizar: ");
54 scanf("%d", &op);
55 if(op)
56 {
57 printf("Por rango: ");
58 scanf("%d", &op);
59 flag|=(op?2:8);
60 }
61 cn = (flag&1)?vmn:(flag&4?md:0);
62 nr = (flag&2)?vmx-vmn:(flag&8?st:1);
63 printf("%d\t%f\t%f\n", flag, cn, nr);
64 for(i=0; i<n; i++)
65 {
66 z[i] = (x[i]-cn)/nr;
67 printf("Z[%d] = %f\n", i+1, z[i]);
68 }
69 return 0;
70}
#define N
#define max
#define min
int main(void)
Definition Ejemplo_035.c:15