![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Holy Max |
|
|||
|
Unregistered |
Народ подскажите как правильно использовать функицию min в С++, а то что то я не могу никак вычленить минимальное число из двух данных по типу min(z,x) и полученно е присвоить переменной MN.
Помогите плиз... |
|||
|
||||
| prankster |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 9.10.2004 Репутация: нет Всего: нет |
???
во-первых, это вроде макрос. И потом, в чем проблема? Неужели MN = min(z, x) не проходит? |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Compiling MAKS001.CPP:
Error MAKS001.CPP 15: Function 'min' should have a prototype Warning MAKS001.CPP 17: 'mn' is assigned a value that is never used вот че пишет мне а программа и задание такое. Короче вот задача: 1. Даны действительные числа х, у, и z. Вычислить min2 (x + y + z / 2, xyz) +1. А вот то что я накропал: # include <iostream.h> # include <conio.h> # include <math.h> # include <stdlib.h> # include <stdio.h> void main() { clrscr (); float x,y,z,pr,pr1,mn; cout <<"\n Dannaya programma vichislyaet formulu \n"; cout <<"\n Vvedite deistvitelnie chisla x, y, z \n"; cin >>x>>y>>z; cout <<"\n"<<x<<"\n"<<y<<"\n"<<z<<"\n"; pr=(x+y+z)/2;pr1=x*y*z; cout <<"\n"<<pr<<"\n"<<pr1<<"\n"; mn=min(pr,pr1); getch(); } Поправте если не сложно... |
|||
|
||||
| prankster |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 9.10.2004 Репутация: нет Всего: нет |
глюки скорее всего потому, что переменные вещественного типа. В библиотеке math есть функции для сравнения вещественных переменных (если мне не изменяет память). Кстати, сравнивать такие переменные с помощью обычного больше-меньше не рекомендуется - лучше ввести константу, до какой точности сравниваешь. Короче, смотри math.h
|
|||
|
||||
| prankster |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 9.10.2004 Репутация: нет Всего: нет |
че-то я в этом math.h ничего не нашел
Тогда можешь сам написать. Пример:
|
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Блин вот если бы ты еще и с пояснениями писал совсем было бы клево...
А то нифига не понял.. |
|||
|
||||
| prankster |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 9.10.2004 Репутация: нет Всего: нет |
вводим константу EPS - до какого знака после запятой хотим сравнивать наши дробные числа (в примере - до шестого). Далее, чтобы, например, узнать равны ли наши числа с точностью до EPS знака после запятой, находим их разность, берем от нее модуль (функция fabs из модуля math.h) и уже эту разность сравниваем с нашей константой.
Пример: числа 0,000000123 и 0,000000156 процедура будет считать равными. Понятно? |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Сделай #include "minmax.h".
З.Ы. или используй вот это:
-------------------- ![]() |
|||
|
||||
| LuckLess |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 15.9.2004 Репутация: 1 Всего: 1 |
Да ну вы че? Можно гораздо проще , зачем вам условный оператор??
mn=(pr>pr1)?pr1:pr; |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |