Ayuda en este programa arroja numeros enteros
Publicado por Jose pedro (1 intervención) el 11/06/2020 20:49:12
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#include <iostream>
#include <stdlib.h>
#include<time.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void crear(int n,int vector[]);
double promedio(int n,int vector[]);
void ordenar(int n,int vector[]);
void mostrar(int n,int vector[]);
int moda(int n,int vector[], int *frecuencia);
double mediana(int n,int vector[]);
int main(int argc, char** argv){
int n,frecuencia=1;
cout<<"Ingrese el numero de datos que quiere: ";cin>>n;
int vector[n];
crear(n,vector);//crea el vector
cout<<"El promedio es : "<<promedio(n,vector);cout<<endl;//Muestra el promedio del vector
ordenar(n,vector);
mostrar(n,vector);
cout<<"La moda es: "<<moda(n,vector,&frecuencia);
cout<<" Se repite: "<<frecuencia<<endl;
cout<<"La mediana es: "<<mediana(n,vector);
return 0;
}
void crear(int n,int vector[]){
int i,h;
srand(time(NULL));
for(i=0;i<n;i++){
vector[i]=rand()%(1001);
cout<<vector[i]<<" ";
h=h+1;
if(h==25){
cout<<endl;
h=0;
}
}
}
double promedio(int n,int vector[]){
int i,suma=0;
double prome;
for(i=0;i<n;i++){
suma=suma+vector[i];
}
prome=suma/n;
return prome;
}
void ordenar(int n,int vector[]){
int i,j,temp;
for(i=0;i<n;i++){
for(j=0;j<n-1-i;j++){
if(vector[j]>vector[j+1]){
temp=vector[j];
vector[j]=vector[j+1];
vector[j+1]=temp;
}//fin del if
}//fin del for de j
}//fin del for de i
}
void mostrar(int n,int vector[]){
int i,h;
cout<<"numeros ordenados: "<<endl;
for(i=0;i<n;i++){
cout<<vector[i]<<" ";
h=h+1;
if(h==10){
cout<<endl;
h=0;
}
}
}
int moda(int n,int vector[], int *frecuencia){
int i=0, cont=1;
float moda;
moda=vector[i];
while(i<n)
{
/*Si se repite el numero*/
if(vector[i]==vector[i+1]){
cont++;
i++;
}
else{
if(cont>(*frecuencia)){
moda=vector[i];
*frecuencia=cont;
cont=1;
i++;
}
else{
cont=1;
i++;
}
}
}
return(moda);
}
double mediana(int n,int vector[]){
double h=0;
if(n%2!=0){
h=vector[(n/2)];
}
else{
h=(vector[n/2]+vector[(n/2)-1])/2;
}
return h;
}
Valora esta pregunta


0