He estado haciendo el código de un programa que bota secuencias de edades y sus repeticiones. El problema es que para valores de más de 9 edades el programa se corrompe y expulsa valores absurdos e inclusive llega a crashearse botando el siguiente error:
Threat1 stopped
Fault: floating point invalid operation at 0x4097db
Mi código es este:
Código
#include<iostream.h> #include<conio.h> #include<math.h> void main() {int ed,n=0,cant1=0,cantPAR1=0,cantIMP1=0,cant2=0,cantPAR2=0,cantIMP2=0,cant3=0,cantPAR3=0,cantIMP3=0,sec1=0,secPAR1=0,secIMP1=0,sec2=0,secPAR2=0,secIMP2=0,sec3=0,secPAR3=0,secIMP3=0,n1=0,n2=0,n3=0; gotoxy(10,10);cout<<"Ingrese edad :";cin>>ed; while(ed>0 && ed<1000) { n++; if(ed<10 && ed>0) { cant1++; sec1=sec1+ed*pow(10,cant1-1); n1++; if(ed%2==0) { secPAR1=secPAR1+ed*pow(10,cantPAR1); cantPAR1++; } else { secIMP1=secIMP1+ed*pow(10,cantIMP1); cantIMP1++; } } else { if(ed<100 && ed>0) { cant2++; sec2=sec2+ed*pow(100,cant2-1); n2++; if(ed%2==0) { secPAR2=secPAR2+ed*pow(10,cantPAR2); cantPAR2++; } else { secIMP2=secIMP2+ed*pow(100,cantIMP2); cantIMP2++; } } else { if(ed<1000 && ed>0) { sec3=sec3+ed*pow(1000,cant3-1); n3++; cant3++; if(ed%2==0) { secPAR3=secPAR3+ed*pow(1000,cantPAR3); cantPAR3++; } else { secIMP3=secIMP3+ed*pow(1000,secIMP3); cantIMP3++; } } } } gotoxy(10,10+n);cout<<"Ingrese edad :";cin>>ed; } if(sec1>0) { gotoxy(10,12+n);cout<<"Secuencia de un digito :"<<sec1; } else { gotoxy(10,12+n);cout<<"Secuencia de un digito :No hay"; } if(sec2>0) { gotoxy(10,13+n);cout<<"Secuencia de dos digito :"<<sec2; } else { gotoxy(10,13+n);cout<<"Secuencia de dos digito :No hay"; } if(sec3>0) { gotoxy(10,14+n);cout<<"Secuencia de tres digito :"<<sec3; } else { gotoxy(10,14+n);cout<<"Secuencia de tres digito :No hay"; } gotoxy(10,16+n);cout<<"TOTAL:"; gotoxy(10,17+n);cout<<n1<<" Edades de una cifra"; gotoxy(10,18+n);cout<<n2<<" Edades de dos cifra"; gotoxy(10,19+n);cout<<n3<<" Edades de tres cifra"; getche(); }