//================================================================================================================================
// 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();
//Modulo adicional
void introducirnumerospares_vector(vectordatos v1);
void examen_practico_junio(const vectordatos v1,const
vectordatos w1);
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<=6){
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;
case 6:
cout<<"Cual
de los vectores quiere seleccionar.Introduzca 1 o 2?"<<endl;
examen_practico_junio(v,w);
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=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.Numeros
impares de los vectores y suma de ellos:"<<endl;
cout<<"7.Salir"<<endl;
cin>>opcion;
while(opcion<=1&&opcion>=7){
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;
}
//Modulo adicional
void introducirnumerospares_vector(vectordatos v1){
int
numerospares;
for(int
i=0;i<N;i++){
v1[i]=rand()%31;
numerospares=v1[i]*2;
}
}
void examen_practico_junio(const vectordatos v1,const
vectordatos w1){
int
contador=0;
int
sumaimparesv1=0;
int
sumaimparesw1=0;
for(int
i=0;i<N;i++){
if(v1[i]%2!=0){
cout<<"Vector
1:"<<endl;
cout<<"La
posicion:"<<i<<"con numero impar:
"<<v1[i]<< endl;
sumaimparesv1=sumaimparesv1+v1[i];
}
}
cout<<"La
suma de los impares de v1 es:"<<sumaimparesv1<<endl;
for(int
i=0;i<N;i++){
if(w1[i]%2!=0){
cout<<"Vector
2:"<<endl;
cout<<"La
posicion:"<<i<<" con numero
impar:"<<w1[i]<< endl;
sumaimparesw1=sumaimparesw1+w1[i];
}
}
cout<<"La
suma de los impares v2 es:"<<sumaimparesw1<<endl;
}
No hay comentarios:
Publicar un comentario