Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h> //need this.
- //program vypise 3 posloupnosti cisel.
- //=ukol 3, zadani je v ISu.
- //Coded by Tomas Biheler 2013
- void vyplnPole(unsigned long long int pole[], int velikostPole, unsigned long long int (*fillFunction)(int)) //hezky pekne...
- {
- //vyplni pole podle argumentu...
- for(int i = 0; i < velikostPole; ++i)
- {
- pole[i] = fillFunction(i);
- //husty
- }
- }
- void vypisPole(unsigned long long int pole[], int velikostPole) //vypise pole jako radek, na sirokym CLI funguje dobre.
- {
- int delka = 0;
- for(int i = 0; i < velikostPole; ++i)
- {
- if(pole[i] != 0)
- {
- delka = floor (log10 (pole[i])) + 1; //pouziti abs() kolidovalo s max. delkou pouzivanych cisel...
- //... pouzivame sice dlouha, ale za to jen kladna, takze whatever...
- }
- else
- {
- delka = 1;
- }
- printf("%llu", pole[i], delka);
- for(int i = delka; i <= 20; ++i) //checked to work.
- {
- printf(" "); //vyplnovaci znak
- }
- }
- printf("\n");
- }
- unsigned long long int countARG(int argument) //vraci hodnotu argumentu
- {
- return (unsigned long long int)argument;
- }
- unsigned long long int countFACT(int argument) //vraci argument!
- {
- unsigned long long int faktorial = 1;
- for(unsigned long long int i = argument; 0 < i; --i)
- {
- faktorial *= i;
- }
- return faktorial;
- }
- unsigned long long int countFIBO(int argument) // vraci F[argument]
- {
- unsigned long long int FIBO = 0;
- int prvni = 0;
- int druhy = 1;
- int dalsi;
- for (int i = 0; i < argument; ++i)
- {
- if ( i < 0 )
- {
- dalsi = i;
- }
- else
- {
- dalsi = prvni + druhy;
- prvni = druhy;
- druhy = dalsi;
- }
- }
- FIBO = dalsi;
- return FIBO;
- }
- int main() //ridi beh programu.
- {
- //deklarace poli...
- int velikostPole = 21; // 0 - 20 - presne podle zadani...
- //zvetsenim hodnoty se muze rozjet vypis, neni na vic nez F[20] nastavenej!
- unsigned long long int normalPole[velikostPole];
- unsigned long long int fiboPole[velikostPole];
- unsigned long long int factPole[velikostPole];
- //aby se vsechno veslo... Slo by setrit pamet na ukor pretezovani metod...
- //vypocty a filling...
- vyplnPole(normalPole, velikostPole, &countARG);
- vyplnPole(factPole, velikostPole, &countFACT);
- vyplnPole(fiboPole, velikostPole, &countFIBO);
- //vypis (lepsi poradi <- zadani)
- vypisPole(fiboPole, velikostPole);
- vypisPole(factPole, velikostPole);
- vypisPole(normalPole, velikostPole);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement