Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
-11 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 188
1

Написать перегруженные шаблоны функций для нахождения корней линейного (a*x + b = 0) уравнения

31.03.2017, 16:51. Показов 3377. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Кто знает как решить задачу на С++, при помощи шаблонных функций?
Написать перегруженные шаблоны функций для нахождения корней линейного
(a*x + b = 0) и квадратного (a*x2
+b*x + c = 0) уравнений. Замечание: в функции
передаются коэффициенты уравнений
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2017, 16:51
Ответы с готовыми решениями:

Написать перегруженные шаблоны функций для уравнений
Написать перегруженные шаблоны функций для нахождения корней линейного (a*x+b=0) и квадратного...

Написать программу для нахождения корней уравнения 4 степени
всем привет! помогите написать программу для нахождения корней уравнения 4 степени ...

Написать программу для нахождения корней квадратного уравнения, исправить код
Помогите пожалуйста Нужно написать программу для нахождения корней квадратного уравнения,но у меня...

Написать программу для нахождения корней нелинейных уравнения методом Ньютона
Написать программу для нахождения корней нелинейных уравнения методом Ньютона.

17
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
31.03.2017, 17:11 2
В чём шаблонность-то должна выражаться?
0
-11 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 188
31.03.2017, 18:11  [ТС] 3
nmcf, В перегруженности функций.
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
31.03.2017, 18:36 4
Что именно там общее-то?
0
-11 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 188
31.03.2017, 23:19  [ТС] 5
nmcf, Не знаю, это всё условие, которое есть.
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
01.04.2017, 01:12 6
Может что-нибудь такое:
C++
1
2
3
4
template<typename A, typename B>
auto f(const A &a, const B&b) -> decltype(a + b) {
    return -b / a;
}
Ну и вторую по аналогии.

Добавлено через 1 час 6 минут
Для второго можно вот так:
C++
1
2
3
4
5
6
template<typename A, typename B, typename C>
auto f(const A &a, const B&b, const C &c) -> vector<complex<decltype(a + b + c)>> {
    using T = decltype(a + b + c);
    auto D_2 = static_cast<complex<T>>(sqrt(complex<double>(b * b - 4 * a * c)));
    return {(-T(b) - D_2) / T(2) / T(a), (-T(b) - D_2) / T(2) / T(a) };
}
1
-11 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 188
01.04.2017, 01:23  [ТС] 7
nonedark2008, что-то ему не нравится...
Миниатюры
Написать перегруженные шаблоны функций для нахождения корней линейного (a*x + b = 0) уравнения  
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
01.04.2017, 01:52 8
Bossx, ну вот даже не знаю что тебе сказать.
Функцию main хоть добавь.
0
-11 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 188
01.04.2017, 02:34  [ТС] 9
nonedark2008, добавлял, всё равно ошибки выдаёт.
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
01.04.2017, 11:37 10
Bossx, значит чего-то не хватает.
Либо у тебя слишком древний компилятор...
0
-11 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 188
01.04.2017, 21:41  [ТС] 11
nonedark2008, 2013 года студия.
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
01.04.2017, 22:31 12
Bossx, может и не будет работать. У меня нет 13 под рукой.
Ну, убери decltype, возвращаемый тип укажи как double.
0
-11 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 188
13.04.2017, 21:50  [ТС] 13
Есть еще у кого-то варианты решения?
0
-11 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 188
23.04.2017, 19:05  [ТС] 14
Знает кто-то, как решается данная задача?
0
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,706
23.04.2017, 20:29 15
Предложили же вариант. У тебя не ясное задание.
0
-11 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 188
23.04.2017, 21:38  [ТС] 16
nmcf, У меня предложенный вариант не работает, задание скинул полностью, как задали, может кто-то знает как его сделать.
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
23.04.2017, 22:45 17
Цитата Сообщение от Bossx Посмотреть сообщение
У меня предложенный вариант не работает
Когда что-то не работает, нужно точно указывать, что именно не работает, желательно с конкретными сообщениями об ошибках, которые выдает компилятор. Иначе, человек должен быть очень мотивированным, чтобы начать гадать, что же там у ТС пошло не так...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <complex>
#include <vector>
#include <iostream>
 
using namespace std;
 
template<typename T, typename A, typename B, typename C>
vector<T> f(const A &a, const B&b, const C &c) {
    auto D_2 = static_cast<T>(sqrt(T(b * b - 4 * a * c)));
    return{(-T(b) - D_2) / T(2) / T(a), (-T(b) - D_2) / T(2) / T(a)};
}
 
int main() {
    auto res = f<complex<double>>(1, 1, 1);
 
    cout << "Roots: ";
    for (auto &it : res)
        cout << it.real() << (it.imag() >= 0 ? "+": "") << it.imag() << "*i; ";
    cout << endl;
 
    return 0;
}
1
nmcf
23.04.2017, 23:10     Написать перегруженные шаблоны функций для нахождения корней линейного (a*x + b = 0) уравнения
  #18

Не по теме:

Цитата Сообщение от Bossx Посмотреть сообщение
задание скинул полностью, как задали
Ну так уточни задание. Оно понятно только тому, кто его придумал.

0
23.04.2017, 23:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.04.2017, 23:10
Помогаю со студенческими работами здесь

Написать программу нахождения корней квадратного уравнения
Заданы коэффициенты квадратного уравнения. Найти его корни (написать программу,помогите пожалуйста)

Написать программу нахождения всех корней нелинейного уравнения
Написать программу нахождения всех корней нелинейного уравнения методом касательных функции...

Написать процедуру и функцию нахождения корней квадратного уравнения
Написать процедуру и функцию нахождения корней квадратного уравнения. В основной программе ввести...

Написать программу нахождения всех корней нелинейного уравнения
Написать программу нахождения всех корней нелинейного уравнения методом касательных функции...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru