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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Alguien que me ayude con este programa en C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Alguien que me ayude con este programa en C++  (Leído 2,070 veces)
andreampere

Desconectado Desconectado

Mensajes: 2


Ver Perfil
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();             
}


En línea

Saberuneko


Desconectado Desconectado

Mensajes: 2.182



Ver Perfil WWW
Re: Alguien que me ayude con este programa en C++
« Respuesta #1 en: 6 Septiembre 2014, 20:03 pm »

He identado el código ordenadito. Como lo tenías era ilegible.

Código
  1. #include <iostream.h>
  2. #include <conio.h>
  3. #include <math.h>
  4. #include <string.h>
  5. #include <stdlib.h>
  6.  
  7. int main(void)
  8. {
  9. //Declaración de variables
  10. int i=1,k=1,l=0,j=0;
  11. char ans='s';
  12. float notas,delta=0.00;
  13. //
  14. //Inicio del programa
  15. //
  16. //>> SOLICITUD DE VALORES AL USUARIO <<
  17. //
  18. do
  19. {
  20. cout<<"Introduzca valor: "<<endl;
  21. cin>>notas[k];
  22. cout<<"algún nuevo valor? s/n"<<endl;
  23. cin>>ans;
  24. if(ans=='s')
  25. {
  26. k+=1;
  27. }
  28. }
  29. while(ans=='s');
  30. //
  31. //
  32. //>> DESARROLLO DE LAS CLASES PARA LA LISTA DE VALORES <<
  33. //
  34. //determinación del diferencial y número de bandas
  35. float max=0,min=50000,dif;//<<<<< DECLARACIÓN DE VARIABLES!!!!!>>>>>
  36. do
  37. {
  38. if(notas>max)
  39. {
  40. max=notas;
  41. }
  42. if(notas<min)
  43. {
  44. min=notas;
  45. }            
  46. i+=1;
  47. }
  48. while(i<=k);
  49. dif=max-min;
  50. cout<<"indique ahora como desea calcular las bandas:"<<endl;
  51. cout<<"escriba 1 si desea usar el diferencial para obtener el numero de andas."<<endl;
  52. cout<<"escriba 2 si desea calcular la delta desde un número de bandas preferido"<<endl;
  53. cin>>l;cout<<endl;
  54.  
  55. if(l==1)/*<< Para tipos caracter largos, como palabras ó lineas de palabras, deben siempre usarse comillas dobles, aún cuando variables.>>*/
  56. {
  57. cout<<"indique su espesor de banda preferido:"<<endl;
  58. cin>>delta;
  59. j=(dif/delta)+1;
  60. cout<<"cantidad de bandas calculadas: "<<j<<endl;
  61. }                      
  62. else if(l==2)
  63. {
  64. cout<<"indique la cantidad de bandas que desea ahora:"<<endl;
  65. cin>>j;
  66. delta=dif/j;
  67. cout<<delta<<endl;
  68. }
  69.  
  70. //desarrollo de los límites de banda y clasificación de los datos.
  71. //
  72. //
  73. /*la computadora procederá a delimitar las bandas ahora.*/
  74. //
  75. //
  76. float maxbanda,minbanda;////<<<<< DECLARACIÓN DE VARIABLES!!!!!>>>>>
  77. /*if(l==1)
  78. cout<<"su espesor de banda preferido debe ser ajustado por el numero de bandas."<<endl;
  79. {delta=dif/j;cout<<"su espesor de banda actual: "<<delta<<endl;}*/
  80. i=1;
  81. do
  82. {
  83. if(i==1)
  84. {
  85. minbanda=min-0.1;
  86. maxbanda=minbanda+delta;
  87. }
  88. else
  89. {
  90. minbanda=maxbanda[i-1];
  91. maxbanda=minbanda+delta;
  92. }
  93. cout<<"banda "<<i<<" minimo: "<<minbanda<<" maximo: "<<maxbanda<<endl;
  94. i+=1;
  95. }
  96. while(i<=j)
  97. i=1;
  98. //
  99. //
  100. /*la computadora procederá a clasificar datos ahora.*/
  101. //
  102. //
  103. int t=1,s=0;float banda[l][t];//<<<<< DECLARACIÓN DE VARIABLES!!!!!>>>>>
  104. i=1;
  105. l=1;
  106. //
  107. do
  108. {
  109. //                
  110. for(i=1;i<=k;i++)
  111. {
  112. if(notas<=maxbanda[l] && notas>minbanda[l])
  113. {                                
  114. banda[l]=notas;
  115. // t+=1;                                                  
  116. }
  117. else
  118. {
  119. banda[l]=0;
  120. //t+=1;
  121. }                                                    
  122. }
  123. //
  124. l+=1;
  125. i=1;
  126. //t=1;
  127. }                
  128. while(l<=j);
  129. //
  130. l=1;
  131. do
  132. {
  133. do
  134. {
  135. cout<<"banda "<<l<<"."<<i<<" valor: "<<banda[l][t]<<endl;
  136. i+=1;
  137. }
  138. while(i<=k);
  139. l+=1;i=1;
  140. }
  141. while(l<=j);            
  142. // i=1;
  143. do
  144. {
  145. cout<<notas<<endl;
  146. i+=1;
  147. }
  148. while(i<=k);
  149. getch();            
  150. }


« Última modificación: 6 Septiembre 2014, 20:11 pm por Saberuneko » En línea

andreampere

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Alguien que me ayude con este programa en C++
« Respuesta #2 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  :(
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
que efecto es este que alguien me ayude
Diseño Gráfico
skamilo 4 3,005 Último mensaje 16 Mayo 2004, 21:01 pm
por The Ghost
Alguien que me ayude a Ordenar este Código?
Programación General
aoBKnbX95S 4 2,297 Último mensaje 18 Septiembre 2014, 23:36 pm
por engel lex
Alguien que me ayude a hacer este codigo mas eficiente
Programación C/C++
MellaSystems 3 2,486 Último mensaje 10 Marzo 2015, 09:10 am
por eferion
Alguien que ayude sobre este script linux?
Scripting
almorace 7 3,813 Último mensaje 23 Mayo 2016, 19:36 pm
por DariDev
Ayuda!! Alguien Que Me Ayude Con Este Codigo De Dll Hack
Programación C/C++
dante93150 1 1,639 Último mensaje 26 Junio 2016, 23:23 pm
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines