//================================================================================================================================
// Name : P3ricardomd1.cpp
// Author : Ricardo Meza Díaz
// Version :
// Copyright : Your copyright notice
// Description : 2
Diciembre.2015.Programa de trabajo con dos vectores.Uso del
while,prototipos,modulos,variables aleatorias...
//================================================================================================================================
#include <iostream>
using namespace std;
#define N 10
//Definicion tipo de dato
vector vectordatos
typedef int vectordatos[N];
//Prototipo modulos
void introducirnumerosaleatorio(vectordatos v1 );
void mostrartodoslosnumerosdelvector(const vectordatos v1);
int mostrarcuantosvaloresdistintosdecero(vectordatos v1);
int mostrarcuantasvecesserepiteunnumero(vectordatos v1,int
numerorepetido);
bool mostrarsidosarrayssoniguales(const vectordatos v1,const vectordatos w1);
int menu();
int main() {
cout<<"Buenas,"<<endl;
srand(time(NULL));
vectordatos v,w;
int
ohpcion,seleccion,nhumerorepetido,chontador;
//Switch para
escoger opciones en el menu
//Llamada al
modulo menu
ohpcion=menu();
while(ohpcion>=1
&&ohpcion<=5){
switch(ohpcion){
case 1: cout<<"Cual de
los vectores quiere seleccionar.Introduzca 1 o 2?"<<endl;
cin>>seleccion;
if(seleccion==1){
introducirnumerosaleatorio(v);
}
else{
introducirnumerosaleatorio(w);
}
break;
case 2:cout<<"Cual de
los vectores quiere seleccionar.Introduzca 1 o 2?"<<endl;
cin>>seleccion;
if(seleccion==1){
mostrartodoslosnumerosdelvector(v);
}
else{
mostrartodoslosnumerosdelvector(w);
}
break;
case 3:cout<<"Cual de
los vectores quiere seleccionar.Introduzca 1 o 2?"<<endl;
cin>>seleccion;
if(seleccion==1){
chontador=mostrarcuantosvaloresdistintosdecero(v);
cout<<"Hay"<<" "<<chontador<<" "<<"numeros
distintos de cero "<<endl;
}
else{
chontador=mostrarcuantosvaloresdistintosdecero(w);
cout<<"Hay"<<" "<<chontador<<" "<<" numeros
distintos de cero"<<endl;
}
break;
case 4:cout<<"Cual de
los vectores quiere seleccionar.Introduzca 1 o 2?"<<endl;
cin>>seleccion;
if(seleccion==1){
cout<<"Introduce
un numero entero positivo"<<endl;
cin>>nhumerorepetido;
chontador=mostrarcuantasvecesserepiteunnumero(v,nhumerorepetido);
cout<<"El
numero"<<" "<<nhumerorepetido<<"se
repite"<<" "<<chontador<<" "<<"veces"<<endl;
}
else{
cout<<"Introduce
un numero entero positivo"<<endl;
cin>>nhumerorepetido;
chontador=mostrarcuantasvecesserepiteunnumero(w,nhumerorepetido);
cout<<"El
numero"<<" "<<nhumerorepetido<<"se
repite"<<" "<<chontador<<" "<<"veces"<<endl;
}
break;
case 5:
if(mostrarsidosarrayssoniguales(v,w)==true){
cout<<"Los dos
array son iguales"<<endl;
}
else{
cout<<"Los dos
arrays son diferentes"<<endl;
}
break;
}
ohpcion=menu();
}
cout<<"Usted ha
salido del programa"<<endl;
system("PAUSE");
return 0;
}
//Modulo 1
void introducirnumerosaleatorio(vectordatos v1){
for(int
i=0;i<N;i++){
v1[i]=rand()%31;
cout<<"El
numero aleatorio:"<<i<<"es:"<<v1[i]<<endl;
}
cout<<"Los
numero aleatorios han sido introducidos correctamente"<<endl;
}
//Modulo 2
void mostrartodoslosnumerosdelvector(const vectordatos v1){
for(int
i=0;i<N;i++){
cout<<"El
numero"<<i<<"es:"<<v1[i]<<endl;
}
}
//Modulo 3
int mostrarcuantasvecesserepiteunnumero(vectordatos v1,int
numerorepetido){
int contador=0;
for(int
i=0;i<N;i++){
if(v1[i]==numerorepetido){
contador=contador+1;
}
}
return contador;
}
//Modulo 4
int mostrarcuantosvaloresdistintosdecero(vectordatos v1){
int contador=0;
for(int
i=0;i<N;i++){
if(v1[i]!=0){
contador=contador+1;
}
}
return contador;
}
//Modulo 5
bool mostrarsidosarrayssoniguales(const vectordatos v1,const vectordatos w1){
bool iguales;
iguales=true;
int i=0;
while(iguales==true&&i<N){
if(v1[i]!=w1[i]){
iguales=false;
}
i++;
}
return iguales;
}
//Modulo 6
int menu(){
int opcion;
cout<<"Introduce
un opcion:"<<endl;
cout<<"1.Introducir
en el array datos aleatorios entre 0 y 30"<<endl;
cout<<"2.Mostrar
todos los elementos del array seleccionado"<<endl;
cout<<"3.Mostrar
cuantos valores hay distintos de cero en el array seleccionado"<<endl;
cout<<"4.Mostrar
cuantas veces se repite un valor en el array seleccionado"<<endl;
cout<<"5.Mostrar
si los dos arrays son iguales"<<endl,
cout<<"6.Salir"<<endl;
cin>>opcion;
while(opcion<=1&&opcion>=6){
cout<<"Error.Ha
introducido un numero diferente a los que le mostramos"<<endl;
cout<<"Introduzca
un numero del 1 al 6:"<<endl;
cin>>opcion;
}
return opcion;
}