Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Илюза19
0 / 0 / 0
Регистрация: 21.05.2013
Сообщений: 41
#1

Даны действительные числа a,b,c. Получить: max(a,a+b) + max (a,b+c) ... - C++

21.05.2013, 12:18. Просмотров 2017. Ответов 13
Метки нет (Все метки)

Даны действительные числа a,b,c. Получить: max(a,a+b) + max (a,b+c) ) / ( 1+max(a+bc,b,15)) на С++.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2013, 12:18
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Даны действительные числа a,b,c. Получить: max(a,a+b) + max (a,b+c) ... (C++):

Даны действительные числа A, B, C. Получить max(a,a+b)+max(a,b+c,a+b) \ 1+max(ab,bc)+max(a+bc,15,ac) - C++
Всем привет)Помогите пожалуйста написать в С++ Даны действительные числа A, B, C. Получить max(a,a+b)+max(a,b+c,a+b) \...

Даны натуральное число n, действительные числа A1.An. Получить: min(A2,A4,.)+max(A1,A3,.) - C++
Ребят, помогите решить без использования массивов

Даны натуральное число n, действительные числа A1,A2,...,An.Получить:min(A1 , A3 , ...) + max(A2 , A4 , ...) - C++
Даны натуральное число n, действительные числа A1,A2,...,An.Получить:min(A1 , A3 , ...) + max(A2 , A4 , ...) Сижу на экзамене времени...

Даны натуральное число n, действительные числа a1,...,an. Получить: max (-a1,a2,-a3,...,(-1)nan) - C++
Даны натуральное число n, действительные числа a1,...,an. Получить: max (-a1,a2,-a3,...,(-1)nan);

Даны натуральные числа k,n действительные числа a1,...,akn. Получить: max(a1+...+ak,ak+1+...+a2k,ak(n-1)+1+...+akn); - C++
Всем здрастье! Может кто пояснить как это делается: Даны натуральные числа k,n действительные числа a1,...,akn. Получить:...

Даны натуральное n, действительные А1, А2, ... An. Получить: min(A1,A3,...)+max(A2,A4,...) - C++
минимум(A1,A3,....)+максимум(A2,A4....) Добавлено через 1 минуту если быть точнее то :min(A1,A3,....)+max(A2,A4....) Добавлено...

13
stima
495 / 345 / 43
Регистрация: 22.03.2011
Сообщений: 1,107
Завершенные тесты: 2
21.05.2013, 12:52 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <algorithm>
 
template <typename T>
max(const T& one, const T& two, const T& three)
{
     return std::max(std::max(one, two), three);
}
 
int main()
{
    int a, b, c;
    std::cin >> a >> b >> c;
    
    int ret = (std::max(a, a + b) + std::max(a, b + c)) / (1 + max(a + b * c,  b, 15));
 
    std::cout << ret;
 
    return 0;
}
0
Илюза19
0 / 0 / 0
Регистрация: 21.05.2013
Сообщений: 41
21.05.2013, 12:57  [ТС] #3
Спаибо) но вот здесь max(const T& one, const T& two, const T& three) выдает ошибку
0
yleart
60 / 45 / 1
Регистрация: 07.10.2011
Сообщений: 139
21.05.2013, 13:00 #4
C++
1
T& max(const T& one, const T& two, const T& three)
0
stima
495 / 345 / 43
Регистрация: 22.03.2011
Сообщений: 1,107
Завершенные тесты: 2
21.05.2013, 13:02 #5
Писал на лету. Вот проверенная.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <algorithm>
 
template <typename T>
T max(const T& one, const T& two, const T& three)
{
     return std::max(std::max(one, two), three);
}
 
int main()
{
    int a, b, c;
    std::cin >> a >> b >> c;
    
    int ret = (std::max(a, a + b) + std::max(a, b + c)) / (1 + max<int>(a + b * c,  b, 15));
 
    std::cout << ret << std::endl;
    std::cin.get();
 
    return 0;
}
Добавлено через 1 минуту
yleart, Вы возвращаете ссылку на локальную переменную. Будьте внимательней), впрочем как и я)
0
Илюза19
0 / 0 / 0
Регистрация: 21.05.2013
Сообщений: 41
21.05.2013, 13:05  [ТС] #6
Спасибо вам большое выручили=)
0
gray_fox
What a waste!
1551 / 1256 / 74
Регистрация: 21.04.2012
Сообщений: 2,634
Завершенные тесты: 3
21.05.2013, 13:07 #7
Цитата Сообщение от stima Посмотреть сообщение
возвращаете ссылку на локальную переменную
Тут нет вроде локальных переменных, ссылки же в аргументах. Только возвращать надо константную.
0
stima
495 / 345 / 43
Регистрация: 22.03.2011
Сообщений: 1,107
Завершенные тесты: 2
21.05.2013, 16:07 #8
2gray_fox, Как это нет?) Будьте внимательней

C++
1
2
3
4
5
6
7
8
9
T bar()
{
return T();
}
 
T& foo()
{
    return bar();
}
0
gray_fox
What a waste!
1551 / 1256 / 74
Регистрация: 21.04.2012
Сообщений: 2,634
Завершенные тесты: 3
21.05.2013, 16:14 #9
stima, где здесь
C++
1
2
3
4
5
template <typename T>
T max(const T& one, const T& two, const T& three)
{
     return std::max(std::max(one, two), three);
}
создание локальных переменных? Я не вижу )

Добавлено через 3 минуты
ну т.е. если так написать
C++
1
2
3
4
5
template <typename T>
T const& max(const T& one, const T& two, const T& three)
{
     return std::max(std::max(one, two), three);
}
0
stima
495 / 345 / 43
Регистрация: 22.03.2011
Сообщений: 1,107
Завершенные тесты: 2
21.05.2013, 16:36 #10
Во первых обратите внимание yleart написал возврат T&, а не T.
Во вторых, если не будет задействован RVO, std::max вернет обьект, время жизни которого функция max. Для лучшего понимания
C++
1
2
3
4
5
6
template <typename T>
T& max(const T& one, const T& two, const T& three) //обратите внимание на ссылку
{
     T ret = std::max(std::max(one, two), three);
     return ret;
}
п.с. T const& (тоже что и const T&) говорит лишь о константности, а не времени жизни.
0
gray_fox
What a waste!
1551 / 1256 / 74
Регистрация: 21.04.2012
Сообщений: 2,634
Завершенные тесты: 3
21.05.2013, 16:55 #11
Цитата Сообщение от stima Посмотреть сообщение
Во первых обратите внимание yleart написал возврат T&, а не T.
Поэтому я и написал
Цитата Сообщение от gray_fox Посмотреть сообщение
Только возвращать надо константную.
Цитата Сообщение от stima Посмотреть сообщение
Для лучшего понимания
Хорошо, здесь
Цитата Сообщение от stima Посмотреть сообщение
C++
1
2
T ret = std::max(std::max(one, two), three);
return ret;
создаётся локальная переменная ret, я и не спорю, что возвращать ссылку на локальную переменную некорректно; но где же здесь
C++
1
return std::max(std::max(one, two), three);
создание локальной переменной\временного объекта?
0
stima
495 / 345 / 43
Регистрация: 22.03.2011
Сообщений: 1,107
Завершенные тесты: 2
21.05.2013, 18:23 #12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
 
struct A
{
    A()
    {
    std::cout << "construct was called" << std::endl;
    }
    
    A(const A& other)
    {
    std::cout << "copy construct was called" << std::endl;
    }
 
    A& operator=(const A& other)
    {
    std::cout << "assigment operator was called" << std::endl;
    }
};
 
A foo()
{
    return A();
}
 
A bar()
{
    return foo();
}
 
int main()
{
    bar();
    std::cin.get();
        
    return 0;
}
g++ -fno-elide-constructors main.cpp -o a.out && ./a.out.
0
gray_fox
What a waste!
1551 / 1256 / 74
Регистрация: 21.04.2012
Сообщений: 2,634
Завершенные тесты: 3
21.05.2013, 18:51 #13
stima, круто конечно) но вы меня не поняли, видимо, я про это такое:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <algorithm> 
 
struct A
{
    A(int value) : value(value)
    {
       std::cout << "construct was called" << std::endl;
    }
    
    A(const A& other) : value(other.value)
    {
       std::cout << "copy construct was called" << std::endl;
    }
 
    A& operator=(const A& other)
    {
       value = other.value;
       std::cout << "assigment operator was called" << std::endl;
       return *this;
    }
 
    int value;
};
 
bool operator <(A const& lhs, A const& rhs) {
   return lhs.value < rhs.value;
}
 
template<typename T>
T const& max(T const& first, T const& second, T const& third) {
   return std::max(std::max(first, second), third);
}
 
int main() {
   A a(1), b(3), c(7);
   A const& result = max(a, b, c);
   std::cout << result.value << std::endl;
}
Здесь же не будет копирования, какие проблемы вернуть ссылку?
0
stima
495 / 345 / 43
Регистрация: 22.03.2011
Сообщений: 1,107
Завершенные тесты: 2
21.05.2013, 19:17 #14
Виноват ... std::max() возвращает ссылку на один из аргументом. Я думал там копия.^^
0
21.05.2013, 19:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2013, 19:17
Привет! Вот еще темы с ответами:

Даны действительные числа x1,.x20. Вычислить: max (х1+х20,х2+х19,.х10+х11) - C++
Даны действительные числа x1,...x20. Вычислить: max(х1+х20,х2+х19,...х10+х11) Не могу написать программу,тут нужно два цикла for,но не...

Задача для курсовой: определить значение z=max(a, 2b)*max(2a-b,b), где max(x, y)-максимальные из чисел х и у - C++
Определить значение z=max(a, 2b)*max(2a-b,b), где max(x, y)-максимальные из чисел х и у. Задачу решить 2мя способами: 1) Не используя...

Определить значение Z=max(a,2b)*max(2a-b,b), где max(x,y)-максимальное из чисел x,y - C++
Помогите решить задачу: Определить значение Z=max(a,2b)*max(2a-b,b), где max(x,y)-максимальное из чисел x,y. Задачу решить двумя...

Даны x, y, z. Вычислить a, b, используя приведенные ниже формулы. Получить max(a, b) - C++
помогите решить пожалуйста!!! Даны x, y, z. Вычислить a, b, используя приведенные ниже формулы. Получить max(a, b).


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

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

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