Rzutowanie nie działa

0

Jak rzutować coś takiego w C.
int n;
double b;
b=(double)(n)/ (n + 1)
żeby prawidłowa wartość wyszła?

0

A wychodzi nieprawidłowa? Ten kod jest w porządku.

0

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

0

http://ideone.com/uEUuna
Taki zapis pozwala uniknąć wielu operacji (jawnego) rzutowania i nawiasów.

0

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;

}
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.

0

Jeżeli nadal nie działa, to spróbuj zrobić tak:
double b = (double)(n) / (double)(n + 1);

0
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?

0
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!!!

0

Przecież to co napisałeś w 1 poście jest prawidłowe. To dodatkowe rzutowanie niczego nie zmienia: http://ideone.com/mh3ghY

1 użytkowników online, w tym zalogowanych: 0, gości: 1