Advertisement
Miketo_prog

Vectores

May 11th, 2020 (edited)
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.29 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <time.h>
  3. #include<iostream>
  4. using namespace std;
  5.  
  6. int main(){
  7.     int datos, mayor=0, limSup=100;
  8.     int contVeces=0, unaPos;
  9.     int *vectPrinc, *vectRep,  *vectPos;
  10.     srand(time(NULL));
  11.    
  12.     cout<<"Cuantos datos quieres? ";
  13.     cin>>datos;
  14.    
  15.     vectPrinc=(int *)malloc(datos*sizeof(int));
  16.     vectPos=(int *)malloc(datos*sizeof(int));
  17.     vectRep=(int *)malloc(limSup*sizeof(int));
  18.    
  19.    
  20.     for(int i=0; i<datos; i++)
  21.         vectPrinc[i]=rand() % limSup;
  22.    
  23.     //Inicializa vector a -1's
  24.     for(int i=0; i<limSup; i++)
  25.         vectRep[i]=(-1);
  26.    
  27.     for(int i=0; i<datos; i++)
  28.         vectPos[i]=(-1);
  29.    
  30.    
  31.     for(int i=0; i<datos; i++){
  32.         int temp=vectPrinc[i];
  33.         if(vectRep[temp]==(-1))
  34.             vectRep[temp]=1;
  35.         else
  36.             (vectRep[temp])++;
  37.     }
  38.    
  39.    
  40.    
  41.     for(int i=0; i<limSup; i++)
  42.         if(mayor<vectRep[i])
  43.             mayor=vectRep[i];
  44.    
  45.  
  46.     for(int i=0; i<limSup; i++){
  47.         int temp=vectRep[i];
  48.         if(mayor==temp){
  49.             contVeces++;
  50.             unaPos=i;
  51.         }
  52.     }
  53.    
  54.  
  55.     if(contVeces!=1)
  56.         unaPos=(-1);
  57.    
  58.    
  59.    
  60.     vectPos[0]=0;
  61.        
  62.     for(int i=0, j=0; i<datos-1; i++){
  63.         int nActual=vectPrinc[i];
  64.         int nSig=vectPrinc[i+1];
  65.         if(nActual<nSig){
  66.             //Vacio
  67.         }
  68.         else{
  69.             j++;
  70.             vectPos[j]=i+1;
  71.         }
  72.     }
  73.    
  74.     cout<<"\n\n\n";
  75.    
  76.     cout<<"Los DATOS son ALEATORIOS entre 0 y "<<limSup<<".";
  77.     cout<<"\n\n\n";
  78.    
  79.     cout<<"El VECTOR PRINCIPAL a trabajar es:\n\n";
  80.    
  81.     for(int i=0; i<datos; i++)
  82.         cout<<vectPrinc[i]<<" ";
  83.     cout<<"\n\n\n";
  84.    
  85.    
  86.     cout<<"1. REPETIDOS\nCada numero se repitio:\n\n";
  87.    
  88.  
  89.     for(int i=0; i<limSup; i++){
  90.         if(vectRep[i]!=-1)
  91.             cout<<"El "<<i<<" se repitio "<<vectRep[i]<<" veces.\n";
  92.     }
  93.     cout<<"\n\n\n";
  94.    
  95.    
  96.     cout<<"2. LOS MAS REPETIDOS\n\n";
  97.     cout<<"El(Los) numero(s) que mas se repite(n):\n\n";
  98.     /*Imprimimos los nums que se repitieron mas veces*/
  99.     if(contVeces==1){
  100.         cout<<"El valor que se repitio mas veces es el "<<unaPos<<" y se repitio "<<mayor<<" veces.";
  101.     }
  102.     else{
  103.         for(int i=0; i<limSup; i++){
  104.             int temp=vectRep[i];
  105.             if(mayor==temp)
  106.                 cout<<"Valor que se repitio "<<mayor<<" veces es el: "<<i<<endl;
  107.         }
  108.     }
  109.     cout<<"\n\n\n";
  110.  
  111.    
  112.     //Imprimir listas ascendentes
  113.     cout<<"3. LISTAS ASCENDENTES\n\n";
  114.     char letra='a';
  115.     cout<<"("<<letra<<") ";
  116.     for(int i=0, j=0; i<datos; i++){
  117.         cout<<vectPrinc[i];
  118.         if(vectPos[j+1]==i+1){
  119.             cout<<endl;
  120.             letra++;
  121.             cout<<"("<<letra<<") ";
  122.             j++;
  123.         }
  124.         else{
  125.             if(i==(datos-1)){
  126.                 //Nada
  127.             }
  128.             else
  129.                 cout<<", ";
  130.         }
  131.     }
  132.     cout<<"\n\n\n";
  133.    
  134.    
  135.    //Imprimir vector de posiciones
  136.     cout<<"INICIOS DE SECUENCIAS\n\n";
  137.     {
  138.         int i=0;
  139.         while(vectPos[i]!=(-1)){
  140.             cout<<vectPos[i]<<" ";
  141.             i++;
  142.         }
  143.     }
  144.     /*
  145.     for(int i=0; i; i++){
  146.         cout<<vectPos[i]<<" ";
  147.     } */
  148.     cout<<"\n\n\n";
  149.    
  150.  
  151. return 0;
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement