Skocz do zawartości
Rolek86

Prosze O Pomoc W C++

Rekomendowane odpowiedzi

Mam problem z programem nie moge znalezc bledu. Prosze o pomoc. Oto program...

Z gory dziekuje

 

 

#include "stdio.h"

#include "conio.h"

 

#define N 14

 

int k,i;

int s_newtona; // Wyznaczana wartosc symbolu Newtona

 

int main(){

 

printf("Wartosci symbolu Newtona dla n=%d \n",N);

for (k=0; k <= N; k++)

{

s_newtona = 1;

if (k!=0)

// Obliczanie wartosci symbolu Newtona dla zadanego N i k

for (i=1; i <= N-k;i++)

s_newtona *= (i + k)/i;

printf("k=%2d s_newtona = %d\n",k,s_newtona);

};

 

getch();

return 0;

}

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Algorytm wygląda na poprawny, problem lezy tutaj

s_newtona *= (i + k)/i;
nastepuje dzielenie całkowitoliczbowe, zmień zmienne i, k ,s_newton na float lub spróbuj czegoś takiego:

s_newtona =  ((double)s_newtona)*((double)i + (double)k)/(double)i;
masakryczne ale może bedzie działać :). Edytowane przez Ragnor

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

nie musisz rzutować kazdej zmiennej.. wystaczy że zrzutujesz wynik ilorazu.. z tego co wiem :)

To nie zadziała, wynik (iloraz) będzie intem i zrzutujesz inta na double co nie zmieni jego wartości, aby dobrze działało trzeba dzielną lub dzielnik zrzutowac na typ double lub float, wtedy C samoczynnie dokona konwersji w górę reszty zmiennych biorących udział w działaniu więc pozostałe też zostaną na double lub float awansowane, a nastepnie ewentualnie mozna wynik znowu na int rzutować (wiedząc ze jest on liczbą całkowitą). Edytowane przez Ragnor

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...