Dev - C++ - Ayuda en este programa arroja numeros enteros

 
Vista:

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder