Top.Mail.Ru
Ответы

C++ помогите сделать задания

1. Написать программу, в которой объявлены функции sum() и mult(), первая функция возвращает сумму двух чисел, а вторая возвращает произведение двух чисел. В функции main() попросить пользователя ввести два числа, после чего вывести результаты выполнения функций sum() и mult() для введённых чисел.
2. Написать функцию, которая уменьшает введённое пользователем целое число (НЕ его копию!) в два раза. Перегрузить эту функцию, добавив возможность уменьшать число типа double.
3. Написать программу, в которой будет рекурсивная функция подсчёта степени числа.

По дате
По рейтингу
Аватар пользователя
Мудрец

Могу предложить решения заданий с нечётными номерами. А так как они совершенно неинтересные, то для пикантности можно в них пооперировать с натуральными числами любой длины (это специальный тип данных безо всяких ограничений, которые есть в стандартных типах):
1)

123456789101112131415161718192021
 #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)

1234567891011121314151617181920
 #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



Видео по теме