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

max i min

17.10.2013, 14:51. Показов 3952. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как такое сделать?



0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.10.2013, 14:51
Ответы с готовыми решениями:

Найти max и min, если min левее max, то среднее арифметическое между ними
#include <iostream.h> #include <stdio.h> #include <conio.h> #include <math.h> void main() { int n,a; int...

Даны целые числа а, b, с. Вычислить в-сумму у = min (a, b + c) + max (ac, b)-min (a2, c)
Даны целые числа а, b, с. Вычислить в-сумму у = min (a, b + c) + max (ac, b)-min (a2, c). Как эту программу реализовать в код?

Найти min(max(x, y), max(x, z), max(z, d)
Даны различные действительные числа x, y, z, d. Найти min(max(x, y), max(x, z), max(z, d)).

20
zzzZZZ...
 Аватар для dzrkot
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
17.10.2013, 14:59
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
#include <iostream>
using namespace std;
 
double min(double &x,double &y)
{
if (x>y)
return y;
else
return x;
}
 
double max(double &x,double &y)
{
if (x>y)
return x;
else
return y;
}
 
int main()
{
double p,x,y,z;
cout<<"Please enter x,y,z\n";
cin>>x>>y>>z;
p=(min(x,y)-max(y,z))/2;
cout<<"p = "<<p<<endl;
cout<<"9 ne 4itau knig i ne xo4y"
"y4it's9, poetomy zada4i rewaut za men9";
return 0;
}
я модуль не заметил на картинке
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
17.10.2013, 15:18
dzrkot, а зачем изобретать min/max? Разберитесь, что есть в std, который Вы так резво используете. Не придется писать велосипеды.
0
zzzZZZ...
 Аватар для dzrkot
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
17.10.2013, 15:22
Цитата Сообщение от Tulosba Посмотреть сообщение
dzrkot, а зачем изобретать min/max? Разберитесь, что есть в std, который Вы так резво используете. Не придется писать велосипеды.
надо бы, просто пишу под микроконтроллеры, поэтому такие вещи привык руками делать))
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.10.2013, 15:32
Цитата Сообщение от dzrkot Посмотреть сообщение
if (x>y)
return y;
else
return x;
прочтите про тернарный оператор
C++
1
return x > y ? y : x;
с STL:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <algorithm>
#include <cmath>
 
double foo(const int x, const int y, const int z)
{
    return abs(std::min(x, y) - std::max(y, z)) / 2.0;
}
 
int main()
{
    int x, y, z;
    std::cin >> x >> y >> z;
    double p = foo(x, y, z);
    std::cout << p;
}
Tulosba, я думаю надо сначала бы самому написать нечто похожее, прежде чем использовать алгоритмы.
0
zzzZZZ...
 Аватар для dzrkot
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
17.10.2013, 15:36
Цитата Сообщение от MrGluck Посмотреть сообщение
прочтите про тернарный оператор
C++
1
return x > y ? y : x;
я вообще-то в курсе что это) почему не использовал? забыл о нём вообще))
0
1 / 1 / 0
Регистрация: 17.09.2013
Сообщений: 96
17.10.2013, 15:39  [ТС]
вот ,я разобралась,но почему выбивает
fatal error iostream no such file or directory

#include <iostream>
#include <conio.h>
#include <complex>
#include <math.h>



int main()
{
double x,y,z,a,b;
using namespace std;


cout<<"x=";
cin>>x;
cout<<"y=";
cin>>y;
cout<<"z=";
cin>>z;

if(x>y)
a=y;

else
a=x;

if(y>z)
b=y;

else
b=z;

p=(abs (a-b))/2;

cout<<"p="<<p<<endl<<"Press any key to finish...";


getch();
return 0;
}
0
zzzZZZ...
 Аватар для dzrkot
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
17.10.2013, 15:41
у вас visual studio ? тогда #include "stdfx" ещё надо в начале

2)р необъявлен
0
1 / 1 / 0
Регистрация: 17.09.2013
Сообщений: 96
17.10.2013, 15:43  [ТС]
нет ,не visual
Я открыла другую ,и она работает с iostream.а именно эта -нет
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.10.2013, 15:49
Цитата Сообщение от Katya99 Посмотреть сообщение
#include <iostream>
C++
1
#include <iostream.h>
Видимо вы на борланде сидите
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
17.10.2013, 15:49
Цитата Сообщение от MrGluck Посмотреть сообщение
return abs(std::min(x, y) - std::max(y, z)) / 2.0;
А почему не std::abs() ?
Цитата Сообщение от MrGluck Посмотреть сообщение
я думаю надо сначала бы самому написать нечто похожее, прежде чем использовать алгоритмы.
Это кстати регулярная дилемма. Обычно не всегда понятно, что знает (должен знать) ТС для решения поставленной задачи. Поэтому мне кажется имеет смысл сначала предложить решение с учетом стандартной библиотеки (тем более, что тут не какой-то сложный для понимания новичком алгоритм), а уж потом, если ТС скажет: "мы этого не проходили", предложить ему рукописный вариант. Или еще какой на дефайнах
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.10.2013, 15:50
Цитата Сообщение от Katya99 Посмотреть сообщение
Я открыла другую ,и она работает с iostream.а именно эта -нет
Не обижайтесь, но вас трудно понять, попробуйте строить предложения более осмысленно.
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
17.10.2013, 15:52
Цитата Сообщение от dzrkot Посмотреть сообщение
просто пишу под микроконтроллеры, поэтому такие вещи привык руками делать))
Видимо не достаточно пишете. Иначе бы:
1. знали про тернарный оператор.
2. использовали бы скорее макросы MAX/MIN.
0
1 / 1 / 0
Регистрация: 17.09.2013
Сообщений: 96
17.10.2013, 15:55  [ТС]
дело в том ,что я вставила в другую,где тоже иострим без h и там она работает.
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.10.2013, 16:02
Цитата Сообщение от Tulosba Посмотреть сообщение
А почему не std::abs() ?
http://www.cplusplus.com/reference/complex/abs/
http://www.cplusplus.com/reference/cmath/abs/
Заметил интересную вещь, в описании cmath (и cstdlib) оно не из std. Хотя вроде бы, когда меняли с <*.h> на <c*> заключали функции в стандартное пространство имен.
Не знаю в чем профит std, если есть глобальная функция.

Кстати тут:
http://www.cplusplus.com/reference/cmath/abs/ она вроде как должна проходить по перегрузке double abs (T x), но тем не менее, вызывается int abs(int x), иначе бы при входных параметрах 2 2 3, если делить на 2 а не 2.0, выдавало бы 0.5 а не 0 (int/int)

Добавлено через 2 минуты
Цитата Сообщение от Tulosba Посмотреть сообщение
Или еще какой на дефайнах
макросы в С++ вы одобряете?)
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
17.10.2013, 16:08
Не очень понял, что я должен был вынести по ссылкам.
Цитата Сообщение от MrGluck Посмотреть сообщение
Не знаю в чем профит std, если есть глобальная функция.
В глобальном пространстве сишная сидит, которая не может иметь перегрузок.
Цитата Сообщение от MrGluck Посмотреть сообщение
иначе бы при входных параметрах 2 2 3 выдавало бы 0.5 а не 0 (int/int)
Снова не понял

Добавлено через 2 минуты
Цитата Сообщение от MrGluck Посмотреть сообщение
макросы в С++ вы одобряете?)
Это был пример того, какое решение может принять препод у ТС. В здравом уме использовать макрос, если его можно заменить иной сущностью, не стоит.
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.10.2013, 16:17
Tulosba, на том сайте для abs из complex дописали пространство имен, а для abs из cstdlib и cmath нет:


Для кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <algorithm>
#include <cmath>
 
double foo(const int x, const int y, const int z)
{
    return abs(std::min(x, y) - std::max(y, z)) / 2; // int / int
}
 
int main()
{
    int x, y, z;
    std::cin >> x >> y >> z;
    double p = foo(x, y, z);
    std::cout << p;
}
При входных параметрах 2 2 3 (x = 2, y = 2, z = 3) результата будет 0 заместо должных 0.5 Это говорит о том, что вызовется вариант int abs(int x). Та же проблема будет если дописать пространство имен для abs.
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.10.2013, 16:19
Если сможете объяснить суть профита std::abs перед abs в данной задаче, то был бы благодарен. Я не использовал std::abs потому как эту выгоду просто не знаю.
0
17.10.2013, 16:24

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
Видимо не достаточно пишете. Иначе бы:
1. знали про тернарный оператор.
2. использовали бы скорее макросы MAX/MIN.
ой всё, я понял к чему вы клоните, я рукожоп, пойду убьюсь)))

0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
17.10.2013, 16:35
MrGluck, с интовыми аргументами проверять std::abs смысла конечно нет.
Предлагаю попробовать рассмотреть такой вариант:
C++
1
2
3
4
5
double foo(double x, double y, double z)
{
    return std::abs(std::min(x, y) - std::max(y, z)) / 2; // double / int
    return ::abs(std::min(x, y) - std::max(y, z)) / 2; // int / int
}
Добавлено через 9 минут

Не по теме:

Цитата Сообщение от dzrkot Посмотреть сообщение
ой всё, я понял к чему вы клоните, я рукожоп, пойду убьюсь)))
Лучше не стоит. А то мне доведение до суицида припишут :)

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.10.2013, 16:35
Помогаю со студенческими работами здесь

Найти max {min (a, b), min (c, d)}.
Найти max {min (a, b), min (c, d)}.

Max(x,y,z) min(x,y,z) на c++
max(x,y,z) min(x,y,z) на c++ Добавлено через 47 секунд пожалуйста помогите!

min(x,y) max(x,y)
заданы действительные числа х, у. получить min(x,y) max(x,y)?

max min
Всем доброго времени суток. нужна ваша помощь ув. программеры. Дана целочисленная матрица размера 6*9. Определить функцию поиска значения и...

Max и Min в Си++
сформировать одномерный массив целых чисел используя ДСЧ. расспечатать полученный массив поменять местами мах и мин удалить из...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru