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;
}
Příspěvky odeslané z IP adresy 85.207.191.–
dalo