C++
Nawaleta: [C++]
Czy ktoś mógłby mi powiedzieć, dlaczego to nie liczy całki?
using namespace std;
int e;
double f(double x) {return (ex);}
int main ()
{
double a,b,s,d;
int n=1000;
a=0;
b=5;
s=0;
d=(a−b)/n;
for (int i=1; i<=n; i++)
{s+=f(a+i*d);
i++;
}
s*=d;
cout<<"wynik" <<s<<endl;
system("PAUSE");
return 0;
}
15 maj 15:32
Nawaleta: Mam taki błąd :
invalid operands of types 'int' and 'double' to binary 'operator'
15 maj 15:36
15 maj 15:39
15 maj 15:41
Adamm: tam miał być znak potęgi, rozumiesz o co mi chodzi
15 maj 15:42
Nawaleta: Oczywiście mam #include<cmath>.
15 maj 15:42
Nawaleta: Wpisałem :
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int e;
double exp (double x) {return (exp(x));}
int main ()
{
double a,b,s,d;
int n=1000;
a=0;
b=5;
s=0;
d=(a−b)/n;
for (int i=1; i<=n; i++)
{s+=exp(a+i*d);
i++;
}
s*=d;
cout<<"wynik" <<s<<endl;
system("PAUSE");
return 0;
}
Ale zaraz po uruchomieniu przestaje działać.
15 maj 15:46
Adamm: double exp (double x) {return (exp(x));}
15 maj 15:47
Nawaleta: No tak, już wiem
Bardzo Ci dziękuję za pomoce i te linki.
15 maj 15:49
Nawaleta: Jednak chyba coś mam nie tak :
Mam taki kod :
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
double f (double x) {return (exp(x));}
int main ()
{
double a,b,s,d;
int n=1000000;
a=0;
b=5;
s=0;
d=(a−b)/n;
for (int i=1; i<=n; i++)
{s+=exp(a+i*d);
i++;
}
s*=d;
cout<<"wynik" <<s<<endl;
system("PAUSE");
return 0;
}
I według programu to 0,49...
A wolfram podaje 147,41
15 maj 20:03
Nawaleta: bez tego return mam
15 maj 20:04
Nawaleta: #include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
double exp (double x);
int main ()
{
double a,b,s,d;
int n=1000;
a=0;
b=5;
s=0;
d=(a−b)/n;
for (int i=1; i<=n; i++)
{s+=exp(a+i*d);
i++;
}
s*=d;
cout<<"wynik" <<s<<endl;
system("PAUSE");
return 0;
}
15 maj 20:07
Adamm: pierwsze pytanie
całka ma być od 0 do 5 czy od 5 do 0?
15 maj 20:09
Nawaleta: Od 0 do 5
, tam mam mieć zamiast a−b, b−a?
15 maj 20:11
Adamm: tak
15 maj 20:11
Nawaleta: Zrobiłem, lecz nadal jest jakby dwa rzy mniej, mam 73,...
15 maj 20:15
Nawaleta: Działa po usunięciu i++, dlaczego tak jest ?
15 maj 20:21
Adamm: bo w pętli for już masz i++
robisz to dwa razy
15 maj 20:23
Nawaleta: A no tak, dziękuje
15 maj 20:23
Dziadek Mróz:
for (iterator; warunek; krok) {
ciało
}
[iterator]
│
│⟵───────┐
↓ │
<warunek> [krok]
↓ │
[ciało] │
└─────────┘
15 maj 23:04