Odpowiedź :
Odpowiedź:
Wstawiam wszystkie 3 zadania co dałeś bo nie chce mi się dzielić tych funkcji, nie pozdrawiam za usunięcie poprzedniego pytania moderacji.
Dałem też jakieś przykłady żeby pokazać że działa
Wyjaśnienie:
#include <iostream>
//zadanie 1
int factorial(int n){
if (n<0){
return 0;
}
int array[n];
array[0] = 1;
for (int i = 1; i<=n; i++){
array[i] = array[i-1] * i;
}
return array[n];
}
//zadanie 2
bool isPythagorian(int a, int b, int c){
if (a == b || a==c || b == c){
return false;
}
int max;
int notMax[2];
if (c>b && c>a){
max = c;
notMax[0] = a;
notMax[1] = b;
}else if (c<b && b>a){
max = b;
notMax[0] = a;
notMax[1] = c;
}else{
max = a;
notMax[0] = b;
notMax[1] = c;
}
return (max*max == notMax[0] * notMax[0] + notMax[1] * notMax[1]);
}
//zadanie 3
void change(int n){
int k = n;
int count = 0;
while (k>=10){
k-=10;
count++;
}
std::cout << "Liczba dziesiatek: " << count << '\n';
if (k>=5){
std::cout << "Liczba piatek: 1"<< '\n';
k-=5;
} else{
std::cout << "Liczba piatek: 0"<< '\n';
}
if (k == 4){
std::cout << "Liczba dwojek: 2"<< '\n';
std::cout << "Liczba jedynek: 0"<< '\n';
return;
}
if (k>= 2){
std::cout << "Liczba dwojek: 1"<< '\n';
k-=2;
}else{
std::cout << "Liczba dwojek: 0"<< '\n';
}
if (k == 1){
std::cout << "Liczba jedynek: 1"<< '\n';
}else{
std::cout << "Liczba jedynek: 0"<< '\n';
}
}
int main(){
int n;
std::cout << "zadanie 1\n" << "Podaj n:\n";
std::cin >> n;
std::cout << factorial(n) << '\n';
int a, b, c;
std::cout << "zadanie 2\n" << "Podaj kolejno 3 liczby:\n";
std::cin >> a >> b >> c;
std::cout << isPythagorian(1,4,5) << '\n';
std::cout << "zadanie 3\n" << "Podaj liczbe do rozmienienia:\n";
std::cin >> n;
change(n);
}