Czesc potrzebuje omówic program w c++ i wyjaśnic jego zasade działania oto program
#include <iostream>

int fib (int n);
int silnia (int n);
int main()
{

int n, answer, wynik;
std::cout << "Podaj numer elementu ciagu: ";
std::cin >> n;

std::cout << "\n\n";

answer = fib(n);
wynik = silnia(n);
std::cout << "Wartoscia " << n << "-go elementu ciagu ";
std::cout << "Fibonacciego jest " << answer << "\n";
std::cout << "Silnia z podanej liczby wynosi: "<<wynik;
std::cout << "\n\n";
system("pause");
return 0;
}

int fib (int n)
{
std::cout << "Przetwarzanie fib(" << n << ")... ";

if (n < 3 )
{
std::cout << "Zwraca 1!\n";
return (1);
}
else
{
std::cout << "Wywoluje fib(" << n-2 << ") ";
std::cout << "oraz fib(" << n-1 << ").\n";
return( fib(n-2) + fib(n-1));
}
}
int silnia(int s){
if (s==0) return 1;
return s*silnia(s-1);
}

1

Odpowiedzi

Najlepsza Odpowiedź!
2010-03-16T20:11:05+01:00
Program oblicze silnie podanej liczby oraz określa wartość podanego elementu ciągu Fibonacciego.
Wyjaśnienia podałem w komentarzach.



#include <iostream>

int fib (int n); //Deklaracja funkcji fib
//fib jest funkcją (wywoływaną z jednym argumentem typu int),która w rezulatacie zwraca wartość typu int.

int silnia (int n); //Deklaracja funkcji silnia
//silnia jest funkcją (wywoływaną z jednym argumentem typu int),która w rezulatacie zwraca wartość typu int.

int main()
{

int n, answer, wynik; //Deklaracja zmiennych
std::cout << "Podaj numer elementu ciagu: ";
std::cin >> n; //numer elementu ciągu zostaje zapisany do n

std::cout << "\n\n"; // "\n"-nowa linia

answer = fib(n); //przypisanie do zmiennej answer wyniku funkcji fib
wynik = silnia(n); //przypisanie do zmiennej wynik wyniku funkcji silnia
std::cout << "Wartoscia " << n << "-go elementu ciagu ";
std::cout << "Fibonacciego jest " << answer << "\n";
std::cout << "Silnia z podanej liczby wynosi: "<<wynik;
std::cout << "\n\n";
system("pause");
return 0;
}

int fib (int n)
{
std::cout << "Przetwarzanie fib(" << n << ")... ";

if (n < 3 )
{
std::cout << "Zwraca 1!\n";
return (1); //definicja funkcji fib
}
else
{
std::cout << "Wywoluje fib(" << n-2 << ") ";
std::cout << "oraz fib(" << n-1 << ").\n";
return( fib(n-2) + fib(n-1));
}
}

int silnia(int s){
if (s==0) return 1; //Definicja funkcji silnia
return s*silnia(s-1);
}