Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > C/C++ > C/C++
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.07.2013, 12:06
MahovIV MahovIV вне форума
Новичок
 
Регистрация: 30.12.2012
Сообщения: 77
Репутация: 10
По умолчанию Функция min(max(x,y), max(y,z), x+y+z)

Мне нужно найти значение функции min(max(x,y), max(y,z), x+y+z),
где x, y, z - вещественные числа. Программа выглядит так.
Код:
#include <stdio.h>

double max(double x, double y) {
 max = x;
if(y > max) {
 max = y;
 }
return max;
 }
double max1( double y, double z) {
 max1 = y;
if(z > max1) {
 max1 = z;
 }
return max1;
 }
double sum(double x, double y, double z) {
return x + y + z;
 }
double min(double max, double max1, double sum) {
 min = max;
if(max1 < min) {
 min = max1;
 }
if(sum < min) {
 min = sum;
 }
return min;
 }

double max(double, double);
double max1(double, double);
double sum(double, double);
double min(double, double);

int main() {

double x, y, z;
 scanf("%lf %lf %lf", &x, &y, &z);
 printf("%.2lf\n", min(max(x, y), max1(y, z), sum(x, y, z));
return 0;
 }
Я знаю, что для вещественных чисел нельзя использовать оператор return. Что можно использовать вместо него?
Ответить с цитированием
  #2  
Старый 19.07.2013, 12:52
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

>Я знаю, что для вещественных чисел нельзя использовать оператор return
Откуда Вы это "знаете" ?
Ответить с цитированием
  #3  
Старый 19.07.2013, 13:00
MahovIV MahovIV вне форума
Новичок
 
Регистрация: 30.12.2012
Сообщения: 77
Репутация: 10
По умолчанию

Цитата:
Сообщение от icWasya
>Я знаю, что для вещественных чисел нельзя использовать оператор return
Откуда Вы это "знаете" ?
А разве можно?
Ответить с цитированием
  #4  
Старый 20.07.2013, 06:41
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от MahovIV
А разве можно?

М-м-м... а вообще автор понимает C/C++ и принципы программирования?
Я что-то по приведенному куску не увидел.
Код:
#include<stdio.h>

double min(double a,b) { return (a<b) ? a : b; }
double max(double a,b) { return (a>b) ? a : b; }

void main()
{
  double x ,y ,z;
  scanf("%lf %lf %lf", &x, &y, &z);

  printf("%1f\n",min(x+y+z,min(max(x,y),max(y,z)));

  return;
}
Ответить с цитированием
  #5  
Старый 20.07.2013, 20:32
MahovIV MahovIV вне форума
Новичок
 
Регистрация: 30.12.2012
Сообщения: 77
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
М-м-м... а вообще автор понимает C/C++ и принципы программирования?
Я что-то по приведенному куску не увидел.
Код:
#include<stdio.h>

double min(double a,b) { return (a<b) ? a : b; }
double max(double a,b) { return (a>b) ? a : b; }

void main()
{
  double x ,y ,z;
  scanf("%lf %lf %lf", &x, &y, &z);

  printf("%1f\n",min(x+y+z,min(max(x,y),max(y,z)));

  return;
}
Программа не работает вообще.
Ответить с цитированием
  #6  
Старый 20.07.2013, 20:44
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от MahovIV
Программа не работает вообще.

Как не работает?
Нет под рукой С компилятора. Да там и от компилятора могут быть зависимости некоторые.
Ответить с цитированием
  #7  
Старый 20.07.2013, 21:30
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от MahovIV
Программа не работает вообще.

Вот нашел online компилятор. Немного подправил (забыл скобку, и описание функции gcc требует указания типов везде):
Код:
#include<stdio.h>
 
double min(double a, double b) { return (a<b) ? a : b; }
double max(double a, double b) { return (a>b) ? a : b; }
 
int main()
{
  double x, y, z;
  scanf("%f %f %f", &x, &y, &z);
  
  printf("%f\n",min(x+y+z,min(max(x,y),max(y,z))));
 
  return 0;
}
Ответить с цитированием
  #8  
Старый 20.07.2013, 22:40
MahovIV MahovIV вне форума
Новичок
 
Регистрация: 30.12.2012
Сообщения: 77
Репутация: 10
По умолчанию

Даже с открытой скобкой программа не работает.
Ответить с цитированием
  #9  
Старый 21.07.2013, 01:25
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от MahovIV
Даже с открытой скобкой программа не работает.

Еще раз повторяю вопрос - как не работает?
Последняя версия на он-лайн компиляторе работает, проверено (компилятор gcc). Далее надо править кривые руки того. у кого не работает...
Ответить с цитированием
  #10  
Старый 21.07.2013, 16:33
MahovIV MahovIV вне форума
Новичок
 
Регистрация: 30.12.2012
Сообщения: 77
Репутация: 10
По умолчанию

В Visual Studio не работает.
Ответить с цитированием
  #11  
Старый 21.07.2013, 17:48
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Ну вот вам под консольный проект VS2008
Код:
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"

double min(double a, double b) {return (a<b) ? a : b;}
double max(double a, double b) {return (a>b) ? a : b;}

int main()
{
 double x,y,z;
 scanf("%f %f %f", &x, &y, &z);
 printf("%f\n", min(x+y+z,min(max(x,y),max(y,z))));
 getch();
 return 0;
}

ПС: Правда он мне кажется бред считает, но... главное работает
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #12  
Старый 21.07.2013, 20:41
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от Страдалецъ
ПС: Правда он мне кажется бред считает, но... главное работает

сичтает ровно то, что ТС заказал. Может и не бред, если учитывать отрицательные числа. Хотя, явно лаба какая-то для начинающих сишников Пора, наверное, делать "Код на шару" в C/C++ разделе.

ЗЫ. Моя тоже работает как я вижу, ты, вроде, только инклуды добавил под VC, да чтение в конце, что бы консолька не закрывалась
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:12.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter