1. Abraham Sopla Maslucán
Lima-Perú
Operaciones en vectores
Contenido
void llenaVector(int &tam, double Vector[]) ................................... 1
void imprimeDatos(int &tam, double Vector[]).................................. 1
double calculaPromedio(int &tam, double Vector[]) .......................... 1
double hallaMenor(int &tam, double Vector[]).................................. 2
double hallaMayor(int &tam, double Vector[]).................................. 2
int hallaModa(int &tam, double Vector[])........................................ 2
void buscaDato(int &tam, double Vector[]) ...................................... 2
void ordenaDatos(int &tam, double Vector[]) ................................... 3
void graficarHistograma(int &tam, double Vector[]) ......................... 3
void forma2Subgrupos(int &tam, double Vector[]) ............................. 3
void main()................................................................................... 3
Las operaciones básicas en un arreglo unidimensional son: imprimir los datos, hallar el
menor o el mayor, hallar promedio, buscar un dato, ordenar los datos, entre otras
operaciones que las podemos implementar en un lenguaje usando funciones o
procedimientos.
En cada una de los argumentos de las funciones tenemos Vector[] esto no varía si lo cambiamos por
*Vector
#include<iostream>
#include<string>
#include<ctime>
using namespace std;
void llenaVector(int &tam, double Vector[])
{
srand(time(NULL));
for (int i = 0; i < tam; i++)
{
Vector[i] = 10 + rand() % 11;
}
}
void imprimeDatos(int &tam, double Vector[])
{
//Imprimiendo datos
for (int i = 0; i < tam; i++)
{
cout << Vector[i] << endl;
}
}
double calculaPromedio(int &tam, double Vector[])
{
double suma = 0.0;
for (int i = 0; i < tam; i++)
2. Abraham Sopla Maslucán
Lima-Perú
{
suma = suma + Vector[i];
}
return suma / 10;
}
double hallaMenor(int &tam, double Vector[])
{
double menor = 9999999;
for (int i = 0; i < tam; i++)
{
if (menor > Vector[i]) menor = Vector[i];
}
return menor;
}
double hallaMayor(int &tam, double Vector[])
{
double mayor = 0;
for (int i = 0; i < tam; i++)
{
if (mayor < Vector[i]) mayor = Vector[i];
}
return mayor;
}
int hallaModa(int &tam, double Vector[])
{
int may = 0, moda = 0;
for (int i = 0; i < 10; i++)
{
int ct = 0;
for (int j = 0; j < tam; j++)
{
if (Vector[i] == Vector[j]) ct++;
}
cout << Vector[i] << " " << ct << endl;
if (may < ct)
{
may = ct;
moda = Vector[i];
}
}
cout << "Moda: " << moda << " Repeticiones : " << may<<endl;
return moda;
}
void buscaDato(int &tam, double Vector[])
{
int busca, posicion;
cout << "Dato que quieres buscar: ";
cin >> busca;
for (int i = 0; i < 10; i++)
{
if (busca == Vector[i])
{
posicion = i;
break;
}
else posicion = -1;
}
if(posicion==-1) cout << "El dato buscado no está " << endl;
else cout << "El dato buscado esta en la pocisión: " << posicion << endl;
}
3. Abraham Sopla Maslucán
Lima-Perú
void ordenaDatos(int &tam, double Vector[])
{
int temporal;
for (int i = 0; i < tam; i++)
{
for (int j = 0; j < tam; j++)
{
if (Vector[i] < Vector[j])
{
temporal = Vector[i];
Vector[i] = Vector[j];
Vector[j] = temporal;
}
}
}
}
void graficarHistograma(int &tam, double Vector[])
{
for (int i = 0; i < tam; i++)
{
cout << Vector[i];
for (int j = 0; j < Vector[i]; j++)
{
cout << "*";
}
cout << endl;
}
}
void forma2Subgrupos(int &tam, double Vector[])
{
int ntam = tam / 2;
//double grupo[tam] // esto no es posible en la memoria estatica
double *grupo1 = new double[ntam];
double *grupo2 = new double[ntam];
int i;
for (i = 0; i < ntam; i++)
{
grupo1[i] = Vector[i];
}
cout << "PRIMER GRUPO:" << endl;
cout << "EL menor :" << hallaMenor(ntam, grupo1) << endl;
cout << "EL mayor :" << hallaMayor(ntam, grupo1) << endl;
cout << "EL Promedio :" << calculaPromedio(ntam, grupo1) << endl;
for (int j = 0; j < ntam; j++)
{
grupo2[j] = Vector[j + ntam];
}
cout << "nSEGUNDO GRUPO:" << endl;
cout << "EL menor :" << hallaMenor(ntam, grupo2) << endl;
cout << "EL mayor :" << hallaMayor(ntam, grupo2) << endl;
cout << "EL Promedio :" << calculaPromedio(ntam, grupo2) << endl;
}
void main()
{
setlocale(LC_ALL, "spanish");
int *tama = new int;
cout << "Tamaño del vector: ";
cin >> *tama;
double *Vector = new double[*tama];