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

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

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

Кто знает как решить задачу на С++, при помощи шаблонных функций?
Написать перегруженные шаблоны функций для нахождения корней линейного
(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
6817 / 5958 / 2708
Регистрация: 14.04.2014
Сообщений: 25,504
31.03.2017, 17:11 2
В чём шаблонность-то должна выражаться?
0
-11 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 188
31.03.2017, 18:11  [ТС] 3
nmcf, В перегруженности функций.
0
6817 / 5958 / 2708
Регистрация: 14.04.2014
Сообщений: 25,504
31.03.2017, 18:36 4
Что именно там общее-то?
0
-11 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 188
31.03.2017, 23:19  [ТС] 5
nmcf, Не знаю, это всё условие, которое есть.
0
1317 / 974 / 302
Регистрация: 28.07.2012
Сообщений: 2,708
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, что-то ему не нравится...
0
Миниатюры
Написать перегруженные шаблоны функций для нахождения корней линейного (a*x + b = 0) уравнения  
1317 / 974 / 302
Регистрация: 28.07.2012
Сообщений: 2,708
01.04.2017, 01:52 8
Bossx, ну вот даже не знаю что тебе сказать.
Функцию main хоть добавь.
0
-11 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 188
01.04.2017, 02:34  [ТС] 9
nonedark2008, добавлял, всё равно ошибки выдаёт.
0
1317 / 974 / 302
Регистрация: 28.07.2012
Сообщений: 2,708
01.04.2017, 11:37 10
Bossx, значит чего-то не хватает.
Либо у тебя слишком древний компилятор...
0
-11 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 188
01.04.2017, 21:41  [ТС] 11
nonedark2008, 2013 года студия.
0
1317 / 974 / 302
Регистрация: 28.07.2012
Сообщений: 2,708
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
6817 / 5958 / 2708
Регистрация: 14.04.2014
Сообщений: 25,504
23.04.2017, 20:29 15
Предложили же вариант. У тебя не ясное задание.
0
-11 / 1 / 0
Регистрация: 14.02.2017
Сообщений: 188
23.04.2017, 21:38  [ТС] 16
nmcf, У меня предложенный вариант не работает, задание скинул полностью, как задали, может кто-то знает как его сделать.
0
1317 / 974 / 302
Регистрация: 28.07.2012
Сообщений: 2,708
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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2017, 23:10
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.