Ver Mensaje Individual
  #5 (permalink)  
Antiguo 21/06/2011, 16:38
paracoccidio
 
Fecha de Ingreso: abril-2011
Ubicación: Guadalajara, Jalisco, Mexico
Mensajes: 27
Antigüedad: 12 años, 11 meses
Puntos: 4
Respuesta: Problema con histograma en c++

por fin!!
despues de nose cuantos dias!!
lo bueno fue que no me rendi, pues aqu esta el codigo, ya que pues no recibi ayuda!!
jajaja!!
Código C++:
Ver original
  1. #include <iostream>
  2. //#include <windows.h>
  3.  
  4. int main()
  5. {
  6.     system("color 0e");
  7.     int limite;
  8.     int x = 0;
  9.     int y = 0;
  10.     int menor = 0;
  11.     int mayor = 0;
  12.    
  13.     std::cout<<"Cuantos numeros quieres: ";//pide al usuario hasta que numero llegar
  14.     std::cin>>limite;
  15.     int Asteriscos[limite];
  16.    
  17.     for(int i = 0;i < limite; i++)
  18.     {
  19.             std::cout<<"Ingresa el "<<i+1<<" caracter: ";//se pide y se guardan los valores de cada casilla
  20.             std::cin>>Asteriscos[i];
  21.             std::cout<<Asteriscos[i];  
  22.     }
  23.     system("cls");
  24.    
  25.     for(int i = 0;i < limite;i++){
  26.          for(int e = i; e < limite;e++){
  27.              if(Asteriscos[i] > Asteriscos[e]){//Hago un metodo burbuja pra que los guarde
  28.                  menor = Asteriscos[i];        //de manera ascendente
  29.                  Asteriscos[i] = Asteriscos[e];
  30.                  Asteriscos[e] = menor;
  31.                  mayor = Asteriscos[e];
  32.              }
  33.              else
  34.                  mayor = Asteriscos[i];
  35.          }
  36.     }
  37.    
  38.     int histograma[mayor];
  39.     for(int i = (mayor-1); i >= 0; i--){  
  40.         for(int k = 0; k < limite;k++){//esta parte me costo un webote hacerlo pero parece que ya funciona
  41.             if(Asteriscos[k] > i){
  42.                 std::cout<<"*";
  43.                 x++;
  44.             }
  45.             else{
  46.                 std::cout<<" ";  
  47.             }
  48.         }
  49.         histograma[y] = x;
  50.         y++;
  51.         x = 0;
  52.         std::cout<<"\n";
  53.     }
  54.     ////////////////////////////
  55.     for(int i= 0;i < limite;i++)
  56.        
  57.         std::cout<<"_";
  58.        
  59.     std::cout<<"\n\n";
  60.     for(int i = 0;i < limite; i++){//esto es para que se vea  bonitos
  61.         std::cout<<Asteriscos[i];
  62.     }
  63.     ////////////////////////////
  64.     std::cout<<"\n\n";
  65.      
  66.      for(int i = (limite-1); i >= 0; i--){  
  67.         for(int k = 0; k < mayor;k++){//esta parte me costo un webote hacerlo pero parece que ya funciona
  68.             if(histograma[k] > i){
  69.                 std::cout<<"*";
  70.             }
  71.             else{
  72.                 std::cout<<" ";  
  73.             }
  74.         }
  75.         std::cout<<"\n";
  76.     }
  77.     ////////////////////////////
  78.     for(int i= 0;i < mayor;i++)
  79.        
  80.         std::cout<<"_";
  81.        
  82.     std::cout<<"\n\n";
  83.     for(int i = 0;i < mayor; i++){//esto es para que se vea  bonitos
  84.         std::cout<<histograma[i];
  85.     }
  86.      
  87.     std::cin.get();
  88.     std::cin.get();
  89.  
  90.     return 0;
  91. }