Buenas colegas, . Estoy programando un simulador de datos y no puedo corregir el error del floating point. Lo que pasa es que estoy asignando un valor de un vector de doubles a un auxiliar que tambien he declarado como double. No entiendo cual es el error aqui.
Aca el código.
Aca el código.
Código (cpp) [Seleccionar]
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#define linea "-------------------------------------------------------------------"
void main()
{int n,i,num;
float x[50],m,a,b,aux=0,j,sup[50],inf[50];
double ran,prob[50],aux2;
do
{
gotoxy(5,5);clreol();
gotoxy(5,5);cout<<"ingrese cantidad de intervalos :";cin>>n;
}while(!(n>0 && n<=50));
gotoxy(5,7);cout<<"Nro Cota sup. Cota inf. Media Prob.";
gotoxy(5,8);cout<<linea;
gotoxy(5,9+n);cout<<linea;
for(i=1;i<=n;i++)
{
gotoxy(5,8+i);cout<<i<<".-";
}
aux=0;
m=100;
for(i=1;i<=n;i++)
{
if(i==1) //para el primer dato//
{
do
{
gotoxy(18,8+i);clreol(); //cota inferior de intervalo//
gotoxy(18,8+i);cin>>a;
}while(!(a>=aux));
inf[i]=a;
do
{
gotoxy(35,8+i);clreol(); //cota superior de intervalo//
gotoxy(35,8+i);cin>>b;
}while(!(b>=a));
sup[i]=b;
aux=b;
x[i]=(a+b)/2;
gotoxy(51,8+i);cout<<x[i];
if(i!=n)
{
if(m!=0)
{
do
{
gotoxy(61,8+i);clreol(); //ingresar la probabilidad//
gotoxy(61,8+i);cin>>prob[i];
}while(!(prob[i]>=0 && prob[i]<=m));
gotoxy(68,8+i);cout<<"%";
}
else
{
gotoxy(61,8+i);cout<<"0";
gotoxy(68,8+i);cout<<"%";
prob[i]=0;
}
m=m-prob[i];
}
else
{
gotoxy(61,8+i);cout<<"m";
gotoxy(68,8+i);cout<<"%";
prob[i]=m;
}
}
else
{
gotoxy(18,8+i);cout<<aux;
inf[i]=aux;
do
{
gotoxy(35,8+i);clreol();
gotoxy(35,8+i);cin>>b;
}while(!(b>=aux));
sup[i]=b;
x[i]=(aux+b)/2;
aux=b;
gotoxy(51,8+i);cout<<x[i];
if(i!=n)
{
if(m!=0)
{
do
{
gotoxy(61,8+i);clreol(); //ingresar la probabilidad//
gotoxy(61,8+i);cin>>prob[i];
}while(!(prob[i]>=0 && prob[i]<=m));
gotoxy(68,8+i);cout<<"%";
}
else
{
gotoxy(61,8+i);cout<<"0";
gotoxy(68,8+i);cout<<"%";
prob[i]=0;
}
m=m-prob[i];
}
else
{
gotoxy(61,8+i);cout<<m;
gotoxy(68,8+i);cout<<"%";
prob[i]=m;
}
}
}
gotoxy(5,11+n);cout<<"Ingrese cantidad de datos a simular :";cin>>num;
system("cls");
gotoxy(5,7);cout<<"Nro Random Resultado";
gotoxy(5,8);cout<<linea;
gotoxy(5,9+num);cout<<linea;
for(i=1;i<=num;i++)
{
gotoxy(5,8+i);cout<<i<<".-";
}
for(i=1;i<=num;i++)
{
ran = (rand() % 100 + 1)/1.0;
gotoxy(15,8+i);cout<<ran;
for(j=1;j<=n;j++)//aca ocurre el error//
{
if(j==1)
{
if((ran>=0))
{
aux2=x[j]; //->Esta asignacion bota el error<-//
gotoxy(30,8+i);cout<<aux2;
}
}
}
}
getche();
}