Rolek86 Opublikowano 4 Stycznia 2006 Zgłoś Opublikowano 4 Stycznia 2006 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; } Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Ragnor Opublikowano 4 Stycznia 2006 Zgłoś Opublikowano 4 Stycznia 2006 (edytowane) 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 4 Stycznia 2006 przez Ragnor Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Rolek86 Opublikowano 4 Stycznia 2006 Zgłoś Opublikowano 4 Stycznia 2006 Dzięki bardzo za pomoc. Bardzo mi pomogłeś masz u mnie piwo Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Ragnor Opublikowano 4 Stycznia 2006 Zgłoś Opublikowano 4 Stycznia 2006 Dzięki bardzo za pomoc. Bardzo mi pomogłeś masz u mnie piwoMam nadzieje że jakieś dobre ;). Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Rolek86 Opublikowano 4 Stycznia 2006 Zgłoś Opublikowano 4 Stycznia 2006 kurde a jak :P Heniek moze byc :> Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Ragnor Opublikowano 4 Stycznia 2006 Zgłoś Opublikowano 4 Stycznia 2006 kurde a jak :P Heniek moze byc :> Może być :) ....... byle z sokiem :lol: Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 6 Stycznia 2006 Zgłoś Opublikowano 6 Stycznia 2006 nie musisz rzutować kazdej zmiennej.. wystaczy że zrzutujesz wynik ilorazu.. z tego co wiem :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Ragnor Opublikowano 10 Stycznia 2006 Zgłoś Opublikowano 10 Stycznia 2006 (edytowane) 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 10 Stycznia 2006 przez Ragnor Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...