autor: dayehn » 21 sty 2013, 22:47
Witam,
mam Obliczyć ciąg symboli Newtona dla i = 1, ..., k, (n po i) = n!/(i!*(n - i)!) dla podanych liczb n, k.
mam cos takiego, ale nie kompiluje mi sie, mozecie mi powiedziec gdzie popelnilem blad?
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
int silnia(int a)
{
int b=1;
for(int i=2;i<a+1;i++)
b=b*i;
return b;
}
int main ()
{
unsigned int n,k;
float symbol;
do
{
//podawanie danych
cout << "Podaj k : ";
cin >> k;
cout << "Podaj n : " ;
cin >> n;
if(n<k||n<0||k<0)
{
cout<<"Bledne dane ";
}
while (n<k||n<0||k<0)
//obliczenia oraz drukowanie na ekran oraz do pliku
cout<<endl;
ofstream mojplik;
mojplik.open("rozwiazanie.txt");
for (int i=1;i<=k;i++)
{
symbol=silnia(n);
symbol=symbol/(silnia(k)*silnia(n-k));
//drukowanie na ekran
cout<<"Symbol Newtona dla i ="<<i<<" ma wartosc: "<<symbol<<endl;
//drukowanie do pliku
mojplik<<"Symbol Newtona dla i ="<<i<<" ma wartosc: "<<symbol<<endl;
}
//zamykanie pliku
mojplik.close ();
system("PAUSE");
return (0);
}
Witam,
mam Obliczyć ciąg symboli Newtona dla i = 1, ..., k, (n po i) = n!/(i!*(n - i)!) dla podanych liczb n, k.
mam cos takiego, ale nie kompiluje mi sie, mozecie mi powiedziec gdzie popelnilem blad?
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
int silnia(int a)
{
int b=1;
for(int i=2;i<a+1;i++)
b=b*i;
return b;
}
int main ()
{
unsigned int n,k;
float symbol;
do
{
//podawanie danych
cout << "Podaj k : ";
cin >> k;
cout << "Podaj n : " ;
cin >> n;
if(n<k||n<0||k<0)
{
cout<<"Bledne dane ";
}
while (n<k||n<0||k<0)
//obliczenia oraz drukowanie na ekran oraz do pliku
cout<<endl;
ofstream mojplik;
mojplik.open("rozwiazanie.txt");
for (int i=1;i<=k;i++)
{
symbol=silnia(n);
symbol=symbol/(silnia(k)*silnia(n-k));
//drukowanie na ekran
cout<<"Symbol Newtona dla i ="<<i<<" ma wartosc: "<<symbol<<endl;
//drukowanie do pliku
mojplik<<"Symbol Newtona dla i ="<<i<<" ma wartosc: "<<symbol<<endl;
}
//zamykanie pliku
mojplik.close ();
system("PAUSE");
return (0);
}