lunes, 30 de mayo de 2016

Practica 10 a subir

//================================================================================================================================
// 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;

     }



No hay comentarios:

Publicar un comentario