elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación General / Re: Alguien que me ayude con este programa en C++ en: 6 Septiembre 2014, 20:23 pm
Gracias! sin embargo aún espero la respuesta! (soy nuevo en el foro, hice la publicación lo más basica acorde con el tema y de manera rápida... jijiji) ;D  :(
2  Programación / Programación General / Alguien que me ayude con este programa en C++ en: 6 Septiembre 2014, 16:40 pm
Saludos Foristas de elhacker.net. El algoritmo debería ser capaz de tomar una serie de datos aleatorios, conseguir el máximo y el mínimo de ellos, sacar la diferencia; y optar por si desea obtener un maximo de bandas (intervalos) entre el maximo y el mínimo de los numeros (para así calcular su espesor) ó bien el espesor de las bandas (para asi calcular su numero), y luego lee los numeros y los clasifica a segunda de a cual banda pertenece. Todo corre bien, hasta que debe clasificar los números, pues no aparecen registrados en las bandas que corresponden. He revisado el algoritmo una y otra vez, pero no doy con el fallo.

Adjunto el Algoritmo a continuación (trabaja con notas de materias ó boletas, como un ejemplo para iniciar la verificación en cada parte del programa y constatar que funciona. El programa muestra los resultados paso a paso con la finalidad de ir siguiendo su comportamiento):

#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
     //Declaración de variables
     int i=1,k=1,l=0,j=0;
     char ans='s';
     float notas,delta=0.00;
     //
     //Inicio del programa
     //
     //>>>>>>>>>>>>> SOLICITUD DE VALORES AL USUARIO <<<<<<<<<<<<<<<<<<<<<<<<<
     //
    do
     {
              cout<<"Introduzca valor: "<<endl;
              cin>>notas[k];
              cout<<"algún nuevo valor? s/n"<<endl;
              cin>>ans;
              if(ans=='s')
              {
                          k+=1;
                          }
              }
              while(ans=='s');
              //
              //
             //>>>>>>>>>>>>> DESARROLLO DE LAS CLASES PARA LA LISTA DE VALORES <<<<<<<<<<<<<<<<<<<<<<<<<
             //
              //determinación del diferencial y número de bandas
             float max=0,min=50000,dif;//<<<<< DECLARACIÓN DE VARIABLES!!!!!>>>>>
             do
     {
              if(notas>max)
              {
              max=notas;
              }
              if(notas<min)
              {
                   min=notas;
                   }             
              i+=1;
              }
              while(i<=k);
              dif=max-min;
              cout<<"indique ahora como desea calcular las bandas:"<<endl;
              cout<<"escriba 1 si desea usar el diferencial para obtener el numero de bandas."<<endl;
              cout<<"escriba 2 si desea calcular la delta desde un número de bandas preferido"<<endl;
              cin>>l;cout<<endl;
             
              if(l==1)/*<<<< Para tipos caracter largos, como palabras ó lineas de palabras, deben
                     siempre usarse comillas dobles, aún cuando variables.>>>>*/
              {
                    {
                         
                          cout<<"indique su espesor de banda preferido:"<<endl;
                          cin>>delta;
                          j=(dif/delta)+1;
                          cout<<"cantidad de bandas calculadas: "<<j<<endl; 
                          }                       
                          }
              else if(l==2)
              {
                   cout<<"indique la cantidad de bandas que desea ahora:"<<endl;
                   cin>>j;
                   delta=dif/j;
                   cout<<delta<<endl;
                   }
              //desarrollo de los límites de banda y clasificación de los datos.
              //
              //
              /*la computadora procederá a delimitar las bandas ahora.*/
              //
              //
              float maxbanda,minbanda;////<<<<< DECLARACIÓN DE VARIABLES!!!!!>>>>>
              /*if(l==1)
              cout<<"su espesor de banda preferido debe ser ajustado por el numero de bandas."<<endl;
              {delta=dif/j;cout<<"su espesor de banda actual: "<<delta<<endl;}*/
              i=1;
              do
              {
                                     if(i==1)
                                     {
                                             minbanda=min-0.1;
                                             maxbanda=minbanda+delta;
                                             }
                                             else
                                             {
                                                 minbanda=maxbanda[i-1];
                                             maxbanda=minbanda+delta;
                                             }
                                             cout<<"banda "<<i<<" minimo: "<<minbanda<<" maximo: "<<maxbanda<<endl;
                                             i+=1;
                                             }
                                             while(i<=j);
               i=1;
               //
               //
               /*la computadora procederá a clasificar datos ahora.*/
               //
               //
              int t=1,s=0;float banda[l][t];//<<<<< DECLARACIÓN DE VARIABLES!!!!!>>>>>
              i=1;
              l=1;
              //
              do
              {
                  //                 
                  for(i=1;i<=k;i++)
                     {
                     if(notas<=maxbanda[l] && notas>minbanda[l])
                     {                                 
                     banda[l]=notas;
                    // t+=1;                                                   
                     }
                  else
                  {
                      banda[l]=0;
                      //t+=1;
                      }                                                     
                      }
                      //
                  l+=1;
                  i=1;
                  //t=1;
                  }                 
              while(l<=j);
              //
              l=1;
              do
              {
                          do
                          {
              cout<<"banda "<<l<<"."<<i<<" valor: "<<banda[l][t]<<endl;
               i+=1;
             
              }while(i<=k);
                      l+=1;i=1;                      }
                                             while(l<=j);             
             // i=1;
             do
     {
              cout<<notas<<endl;
              i+=1;
              }
              while(i<=k);
   
                     getch();             
}
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines