dawideo

dawideo ostatnie wypowiedzi na forum i w komentarzach

21.08.2007 20:57
odpowiedz
dawideo
2

Witam z programowaniem dopiero raczkuje więc mało wiem przegladając net natknołem się na 2 "proste" programy. Jeden liczy symbol Newtona drugi ciągi niemalejące.
Ale mam kłopoty ze zrozumieniem ich:/ Czy ktoś by mógł mi wytłumaczyć co się w nich dzieje?? a oto one:
Newton Kod:
#include <iostream.h>
#include <string.h>



#define MAXNK 100
#define MAXWYNIK 1000000000



/*oblicza ile jest podzbiorów k-elementowych w zbiorze n elementowym */
int newton(int n, int k);


int main()‹
int t,a,b;

cin >> t; /* wczytaj liczb&#234; testów */
while(t)‹
cin >> a;
cin >> b;


cout << newton(a,b) << endl;

t--;

return 0;

int newton(int n, int k)

double w= 1;
if (k>n/2)
k=n-k;
else k=k;

for (int i=n; i>=n-k+1; i--)

w=w*i;


for (int i=1; i<=k; i++)

w=w/i;


if (w>MAXWYNIK)

w=-1;
return w;


else
return w;

a chodzi mi głównie o tą część Kod:
int newton(int n, int k)

double w= 1;
if (k>n/2)
k=n-k;
else k=k;

for (int i=n; i>=n-k+1; i--)

w=w*i;


for (int i=1; i<=k; i++)

w=w/i;


if (w>MAXWYNIK)

w=-1;
return w;


else
return w;

bo tu zupełnie jestem zakręcony. Może to jest z jakiegoś wzoru wzięte??

Drugi program to Kod:
oid sumy(int, int*, int);

int main()‹
int t,n,tab[T_SIZE];


cin >> t; /* wczytaj liczb&#234; testów */
while(t)‹
cin >> n;
assert(n<=T_SIZE);
sumy(n, tab, 0);
cout << endl;
t--;

return 0;


void sumy ( int n, int * tab, int k)

if (n==0)

for (int i= 0; i<k; i++)
cout << tab << " ";
cout<<endl;
return;


k== 0 ;

for ( int i= 1; i<=n; i++)

tab[k]=i;
sumy (n-i, tab, k+1);



return ;

Z góry dziękuje za pomoc

GRYOnline.pl:

Facebook GRYOnline.pl Instagram GRYOnline.pl X GRYOnline.pl Discord GRYOnline.pl TikTok GRYOnline.pl Podcast GRYOnline.pl WhatsApp GRYOnline.pl LinkedIn GRYOnline.pl Forum GRYOnline.pl

tvgry.pl:

YouTube tvgry.pl TikTok tvgry.pl Instagram tvgry.pl Discord tvgry.pl Facebook tvgry.pl