Forum programistyczne
Kwiecień 23, 2024, 11:09:11 *
Witamy, Gość. Zaloguj się lub zarejestruj.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Aktualności: Forum programistyczne wystartowało. Potrzebujesz pomocy przy pisaniu programu, masz problem programistyczny?

Zapraszamy do rejestracji!!!
 
  Strona główna Pomoc Szukaj Zaloguj się Rejestracja  

  Pokaż wiadomości
Strony: [1]
1  Języki programowania / C/C++ / pojedyncza i podwójna prcyzja : Październik 20, 2011, 13:45:17
witam, mam problem poniważ mam program który ma w pojdynczej i podwójnej precyzji liczyć mi dowolny wielomian.
#include <iostream>
using namespace std;

template <class T>
T f(T x)
{
return (2*x*x)+3*x+1;
}

template <class T>
void functionTwo(int n)
{
T h = 1.0/T(n);
T sum = 0.0;
for(int i=0; i<n; i++)
{
T x=T(i)*h;
sum+=f<T>(x);
}
cout<<" blad = "<<f<T>((T)n)-sum<<endl;
}

int main()
{
int n = 100000;
for(int i=1;i<n;i++){
cout<<"float, n = "<<i;
functionTwo<float>(n);
cout<<"double, n = "<<i;
functionTwo<double>(n);
}
return 0;
}
[p uruchomieniu programu wiskakuje mi :int n = 1000000000 dla takiej wartości wyskakuje mi "float, n = 1 blad = 2e+18" czy to oznacza ze już pogram nie może wykonac obliczeń w podwójnej prcyzji?

ponadto wyskakuje mi błąd wykonania " przy n=1000... może znów robie cos nie tak?Co?
Strony: [1]


Apteki Profesjonalne usługi remontowe Poznań https://aktinet.pl/ile-to-jest-58-z-70-wyrazone-w-procentach/
Działa na MySQL Działa na PHP Powered by SMF 1.1.20 | SMF © 2006-2007, Simple Machines Prawidłowy XHTML 1.0! Prawidłowy CSS!