Задание:
Для начала рассмотрим задачу 4 из Task10. В данной задаче требуется написать функцию для вычисления факториала числа. Для решения данной задачи можно создать функцию factorial() в файле task10_4.cpp, которая будет принимать целочисленный параметр и возвращать целочисленное значение факториала. Пример решения:
```cpp
#include
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n = 5;
std::cout << "Факториал числа " << n << " равен: " << factorial(n) << std::endl;
return 0;
}
```
Затем перейдем к задаче 6 из Task10. Эта задача заключается в написании функции для нахождения суммы всех элементов массива. Для ее выполнения необходимо создать функцию sumArray() в файле task10_6.cpp, которая принимает массив целых чисел и его размер, а возвращает сумму всех элементов массива. Пример решения:
```cpp
#include
int sumArray(int arr[], int size) {
int sum = 0;
for (int i = 0; i < size; i++) {
sum += arr[i];
}
return sum;
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
std::cout << "Сумма элементов массива: " << sumArray(arr, size) << std::endl;
return 0;
}
```
Следующая задача, номер 13 из Task10, предполагает написание функции для проверки числа на простоту. Для решения данной задачи создадим функцию isPrime() в файле task10_13.cpp, которая будет принимать целочисленный параметр и возвращать булево значение: true, если число простое, и false в противном случае. Пример оформления:
```cpp
#include
bool isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= n / 2; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int num = 17;
if (isPrime(num)) {
std::cout << num << " - простое число" << std::endl;
} else {
std::cout << num << " - не простое число" << std::endl;
}
return 0;
}
```
И, наконец, рассмотрим задачу 19 из Task10, которая требует написать функцию для поиска наибольшего общего делителя двух чисел. Для решения данной задачи создадим функцию gcd() в файле task10_19.cpp, которая принимает два целых числа и возвращает их наибольший общий делитель. Пример решения:
```cpp
#include
int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
int main() {
int num1 = 48;
int num2 = 18;
std::cout << "Наибольший общий делитель чисел " << num1 << " и " << num2 << " равен: " << gcd(num1, num2) << std::endl;
return 0;
}
```
Перейдем к заданиям из Task11. Задача 1 предлагает создать функцию для вычисления суммы цифр числа. Для решения данной задачи необходимо написать функцию sumDigits() в файле task11_1.cpp, которая принимает целочисленный параметр и возвращает сумму его цифр. Пример оформления:
```cpp
#include
int sumDigits(int n) {
int sum = 0;
while (n != 0) {
sum += n % 10;
n /= 10;
}
return sum;
}
int main() {
int number = 12345;
std::cout << "Сумма цифр числа " << number << " равна: " << sumDigits(number) << std::endl;
return 0;
}
```
И наконец, задача 13 из Task11 предлагает написать функцию для проверки числа на палиндром. Для ее решения создадим функцию isPalindrome() в файле task11_13.cpp, которая будет принимать целочисленный параметр и возвращать булево значение: true, если число является палиндромом, и false в противном случае. Пример решения:
```cpp
#include
bool isPalindrome(int n) {
int reversed = 0;
int temp = n;
while (temp != 0) {
int digit = temp % 10;
reversed = reversed * 10 + digit;
temp /= 10;
}
return n == reversed;
}
int main() {
int num = 12321;
if (isPalindrome(num)) {
std::cout << num << " - палиндром" << std::endl;
} else {
std::cout << num << " - не палиндром" << std::endl;
}
return 0;
}
```
Теперь переходим к выполнению контрольной работы, вариант №3. Необходимо решить все задачи указанные в задании и оформить их в отдельных файлах .cpp. В случае возникновения вопросов или сложностей, обращайтесь за помощью к преподавателю или коллегам. Успехов в выполнении заданий!