Witam czy mógłby mi ktoś pomóc i wyjawić schamat jak robić tego typu zadania za pomocą pętli for? co znaczyu ten znak pi?
- Rejestracja:około 9 lat
- Ostatnio:około 5 lat
- Postów:6
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int m;
int n;
double liczba;
double suma=0;
cout<<"Podaj m: ";
cin>>m;
cout<<"Podaj n: ";
cin>>n;
for(int i=pow(m,2);i<=n; ++i)
{
double liczba=(i-3)/(4*i-1);
suma*=liczba;
}
cout<<suma;
}
Napisałem taki kod, ale wyświtla 0 za każdym razem.
- Rejestracja:ponad 10 lat
- Ostatnio:prawie 4 lata
- Postów:473
double liczba;
Po co skoro w pętli for deklarujesz tą zmienną jeszcze raz
(i-3)/(4*i-1)
wychodzi ci zero jeśli i
jest typu int bo wtedy zaokrągla wynik w dół; rozwiązanie: castuj dzielną lub dzielnik do double, poczytaj o static_cast
; natomiast nie deklaruj i
jako double
EDIT!!!
suma*=liczba;
na pewno *=
?

- Rejestracja:ponad 19 lat
- Ostatnio:3 miesiące
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int m,n;
double suma=1;
cout<<"Podaj m: ";
cin>>m;
cout<<"Podaj n: ";
cin>>n;
for(int i=m*m;i<=n;++i) suma*=(i-3)/(4.0*i-1);
cout<<3*suma;
return 0;
}
pow(b,e)
przeważnie obliczane jako exp(e*ln(b))
- więc o ile wykładnik nie jest ułamkowy - nie ma sensu używać.



- Rejestracja:około 9 lat
- Ostatnio:około 5 lat
- Postów:6

- Rejestracja:około 9 lat
- Ostatnio:około 9 lat
- Postów:39
#include <iostream>
using namespace std;
int main() {
int n,m,mq;
float result = 1;
cin >> n >> m;
mq = m*m;
for (int i=m*m; i<n; i++){
result*=(float)(i - 3)/(4*i -1 );
}
result*=3;
cout <<"Wynk:"<<result;
return 0;
}




- Rejestracja:około 9 lat
- Ostatnio:około 5 lat
- Postów:6
Rzeczywiści zwraca 3 w większości :/


Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.
kmphbez używania static_cast
Dlaczego?kmph4.0
czyli że niby to wszystko ma stać się zmiennoprzecinkowe. Może nie mam racji.