C++ помогите сделать задания
1. Написать программу, в которой объявлены функции sum() и mult(), первая функция возвращает сумму двух чисел, а вторая возвращает произведение двух чисел. В функции main() попросить пользователя ввести два числа, после чего вывести результаты выполнения функций sum() и mult() для введённых чисел.
2. Написать функцию, которая уменьшает введённое пользователем целое число (НЕ его копию!) в два раза. Перегрузить эту функцию, добавив возможность уменьшать число типа double.
3. Написать программу, в которой будет рекурсивная функция подсчёта степени числа.
Могу предложить решения заданий с нечётными номерами. А так как они совершенно неинтересные, то для пикантности можно в них пооперировать с натуральными числами любой длины (это специальный тип данных безо всяких ограничений, которые есть в стандартных типах):
1)
#include <gmpxx.h>
#include <iostream>
using namespace std;
mpz_class sum(mpz_class x, mpz_class y)
{ return x + y; }
mpz_class mult(mpz_class x, mpz_class y)
{ return x * y; }
int main()
{
mpz_class a, b; while (true)
{
cout << "a b: "; cin >> a >> b;
cout << "a + b = " << sum(a, b) << endl
<< "a · b = " << mult(a, b) << endl << endl;
}
2)
#include <gmpxx.h>
#include <iostream>
using namespace std;
mpz_class power(mpz_class x, int n)
{
mpz_class e; e = 1;
return n == 0 ? e : x * power(x, n - 1);
}
int main()
{
int n; mpz_class m; while (true)
{
cout << "m n: "; cin >> m >> n;
cout << "mⁿ = " << power(m, n)
<< endl << endl;
}
} Это для манипуляции только с целыми числами и без отрицательных степеней.
У ТЕБЯ В ПЕРВОМ НЕ ХВАТАЕТ ФИГУРНОЙ СКОБКИ ДЛЯ ЗАВЕРШЕНИЯ ГЛАВНОЙ ФУНКЦИИ!!!
дай угадаю, в синергии обучаешься на с++?)
мм я так же подумал)
++
2)
#include <iostream>
#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
using namespace std;
int div2(int& x)
{
x /= 2;
return x;
}
double div2(double& x)
{
x /= 2;
return x;
}
int main()
{
int a = 26;
double b = 24.5;
cout << div2(a) << endl << div2(b) << endl;
system("pause");
}
3)
#include <iostream>
using namespace std;
unsigned long long power(const unsigned base, const unsigned ex)
{
return !ex ? 1ULL : base * power(base, ex - 1);
}
int main()
{
const auto base = 3U;
const auto ex = 9U;
const auto result = power(base, ex);
cout << base << "^" << ex << " = " << result << '\n';
}
20 рублей на лолзе есть
Воу)
Правильно, если даже загуглить не могут, пусть платят))
Третья вот прям готовая есть, тупо CTRL C + CTRL V