Ver Mensaje Individual
  #7 (permalink)  
Antiguo 25/06/2011, 08:50
Avatar de CapacProg
CapacProg
 
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años
Puntos: 71
Respuesta: Problema con histograma en c++

Cita:
Iniciado por paracoccidio Ver Mensaje
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. }
Usa el espacio de nombres std, para que no hagas std::XXX
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%