Ahoj,
v kódu níže jsem se snažil o jednoduchý výpočet, horní funkce by mi měla vrátit 4 čísla, které se snažím vypsat, ale výsledek dává divná čísla. Jsem fakt amatér, můžete mi někdo poradit? Díky.
Čísla mi to dává tyto:
out is 1.794074e-307, 3.362959e+230, -1.#QNAN0e+000, 3.395193e-313
double *xvec(double a [], double b []){
int lena = sizeof(a)/sizeof(a[0]);
int lenb = sizeof(b)/sizeof(b[0]);
double out [lena];
int i = 0;
if(lena != lenb)
{
cout << "Error: Negative Number entered\n";
}
while (i<lena)
{
out[i] = a[i]*b[i];
i++;
}
return (out);
}
int main(void){
int const size = 4;
double a [size]={1,3,1,2};
double b [size]={1,2,1,2};
//int out [sizeof(a)/sizeof(a[0])];
double *out = new double[size];;
out = xvec(a, b);
printf("out is %e, %e, %e, %e",out[0], out[1], out[2], out[3]);
return 0;
}