Jak rzutować coś takiego w C.
int n;
double b;
b=(double)(n)/ (n + 1)
żeby prawidłowa wartość wyszła?
A wychodzi nieprawidłowa? Ten kod jest w porządku.
No w tym programie:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
int n=atoi(argv[1]); //przypisanie parametru wywylywania zminnej
double b=1;
for(int i=1;i<=n;i++){
if(i%2==0){
b*=double(n / n + 1); //wyrazy parzyste
}
else {
b*=double(n +1/ n); //wyrazy nie parzyste
}
}
printf("%lf",b); //wyswietlenie wyniku
scanf("d",b);
//system("PAUSE");
return 0;
}
Program ma liczyć ciąg o postaci (2/1)(2/3)(4/3)*(2/5) itd liczbie wyrazów n podanych na parametrze wjescia
http://ideone.com/uEUuna
Taki zapis pozwala uniknąć wielu operacji (jawnego) rzutowania i nawiasów.
Sorry taki kod mam:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
int n=atoi(argv[1]); //przypisanie parametru wywylywania zminnej
double b=1;
for(int i=1;i<=n;i++){
if(i%2==0){
b*=(double)(n) / (n + 1); //wyrazy parzyste
}
else {
b*=(double)(n +1)/ (n); //wyrazy nie parzyste
}
}
printf("%lf",b);
printf("%\n");
b=(double)(n)/ (n + 1);
printf("%lf",b); //wyswietlenie wyniku
scanf("d",b);
//system("PAUSE");
return 0;
}
Visher napisał(a):
http://ideone.com/uEUuna
Taki zapis pozwala uniknąć wielu operacji (jawnego) rzutowania i nawiasów.
Ale ja nie chce ominąć jawnego rzutowania gdyż to za bardzo skomplikuje mój program.
Jeżeli nadal nie działa, to spróbuj zrobić tak:
double b = (double)(n) / (double)(n + 1);
Lena(R) napisał(a):
Jeżeli nadal nie działa, to spróbuj zrobić tak:
double b = (double)(n) / (double)(n + 1);
Działa może mi ktoś podać przepis na rzutowanie takich form algebraicznych np jak rzutować takie coś
int a;
float b;
Chce otrzymać b*b gdzie b=(n+2)n/(n-6)3n
Jak to najprościej rzutować jawnie?(tak wymaga nasz ćwiczeniowiec);
Czy tak bd dobrze
b=(float)(n+2)*n/(n-6)3n.
Czy jednak muszę pisać float przed każdym nawiasem?
Lena(R) napisał(a):
Jeżeli nadal nie działa, to spróbuj zrobić tak:
double b = (double)(n) / (double)(n + 1);
Sorry za pomniałbym podziekować. WIELKIE DZIEKI!!!
Przecież to co napisałeś w 1 poście jest prawidłowe. To dodatkowe rzutowanie niczego nie zmienia: http://ideone.com/mh3ghY