Rozklad na součet Fibbonačiho čísel – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Rozklad na součet Fibbonačiho čísel – C / C++ – Fórum – Programujte.comRozklad na součet Fibbonačiho čísel – C / C++ – Fórum – Programujte.com

 

dalo
~ Anonymní uživatel
1 příspěvek
22. 12. 2009   #1
-
0
-

Zdravím,byl by někdo tak ochotný a okomentoval mi po řádcích funkci tohoto programu? Jedná se o Rozklad na součet Fibbonačiho čísel. Hlavně mě zajímá proč se na konci počítá zrovna s c= 20. Děkuji

#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>


void fill_fib_arr(unsigned int *pf, unsigned int size) // funkce na vyplneni pole fibonacciho posloupnosti
{

pf[0]=1; // nastaveni prvniho prvku pole

pf[1]=1; // nastaveni druheho prvku pole



for(unsigned int c=2;c<size;c++)
{
pf[c]=pf[c-1]+pf[c-2]; // cyklus na spocitani posloupnosti
}
}

int main(int argc, char *argv[])
{

unsigned int fibb[20]; //deklarace potrebnych promennych

unsigned int *px=fibb;
unsigned int in=0;
unsigned int temp=0;

//system("cls"); win
system("clear"); //linux // clear konzole
fill_fib_arr(px,20); // naplneni pole fibb posloupnosti

printf("\n\nZadejte cislo, ktere chcete rozlozit na soucet Fibonacciho cisel: ");
scanf("%d",&in);


printf("\nRozklad cisla %d na soucet fibonacciho cisel vypada nasledovne: ",in);


unsigned int c=19;
while(1) // algoritmus na rozklad cisla na fibonacciho posloupnost
{
temp+=fibb[c];
if(temp==in)
{
printf(" %d ",fibb[c]);
break;
}
if(temp<in)
{
printf(" %d +",fibb[c]);
}
if(temp>in)
{
temp-=fibb[c];
}

c--;
}
return 0;
}

Nahlásit jako SPAM
IP: 85.207.191.–
KIIV
~ Moderátor
+43
God of flame
22. 12. 2009   #2
-
0
-

doporucuju aby sis to okomentoval sam.. najdi si operatody v C, moc funkci tam pouzito neni, a zjistuj co to dela..

Nahlásit jako SPAM
IP: 80.188.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
sputnikone+1
Věrný člen
22. 12. 2009   #3
-
0
-

I komentáři se člověk učí. :smile2:

Nahlásit jako SPAM
IP: 89.176.157.–
tmi0
Věrný člen
23. 12. 2009   #4
-
0
-

program je psan pro rozklady cisel mensich nez 21.fibonacciho cislo, proto ve svem behu potrebute pocitat jen s prvnimi 20 fibonacciho cisly a tedy prochazet pole o 20 prvcich -- proto c=19.

Nahlásit jako SPAM
IP: 213.226.226.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 20 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý