Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Евгения01
13 / 13 / 5
Регистрация: 29.10.2015
Сообщений: 311
1

Напишите функцию, которая возвращает наименьшее из трех чисел с плавающей точкой

30.04.2018, 14:00. Просмотров 279. Ответов 3
Метки нет (Все метки)

Всем привет, не могу найти ошибку, помогите пожалуйста.

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
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
  
   double min(double n1,double n2)
{
      return n1<n2?n1:n2;
}
double min(double n1,double n2,double n3)
{
     return min(min(n1,n2),n3);
}
int main()
{
   for(int i=0;i>100;i++)
   {
         int m1=(double)rand()/RAND_MIN;
         int m2=(double)rand()/RAND_MIN;
         int m3=(double)rand()/RAND_MIN;
        int m4=min(m1,m2,m3);
        cout<<m1<<' '<<m2<<' '<<m3<<' '<<m4<<endl;
   }
   system("pause");
   return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2018, 14:00
Ответы с готовыми решениями:

Написать функцию, которая возвращает наибольшее из трех чисел с плавающей точкой
Разработать программу, которая использует эту функцию столько раз, сколько укажет пользователь....

Написать функцию, которая возвращает наибольшее из трех чисел с плавающей точкой
Разработать программу, которая использует эту функцию столько раз, сколько укажет...

Функция вычисляющая наибольшее из трех чисел с плавающей точкой
Напишите функцию, которая возвращает наибольшее из трех чисел с плавающей точкой. Используйте эту...

Напишите функцию внутр najdlhsie_opakovanie, которая возвращает длину самого длинного сегмента
Напишите функцию внутр najdlhsie_opakovanie (char str ), которая возвращает длину самого длинного...

Напишите программу, которая считывает 5 целых чисел, а затем определяет наименьшее и наибольшее значение
Напишите программу, которая считывает 5 целых чисел, а затем определяет наименьшее и наибольшее...

3
stake-k26
618 / 432 / 332
Регистрация: 25.04.2016
Сообщений: 1,218
30.04.2018, 15:30 2
Вы разделом не ошиблись? На си будет выглядеть как-то так:

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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//#include <conio.h>
 
double min (double a, double b) { return (a<b)? a : b; }
double mmn (double a, double b, double c) { return min(min(a, b), c); }
 
int main (void)
{
    srand(time(NULL));      // msvs: srand(_getpid());
    int i, m = 100;
    double a, b, c;
    for(i=0; i<3; i++)
    {
        a = (rand() %m) / 100.0;
        b = (rand() %m) / 100.0;
        c = (rand() %m) / 100.0;
        printf("a = %4.2lf\nb = %4.2lf\nc = %4.2lf\n", a, b, c);
        printf("min = %4.2lf\n\n", mmn(a, b, c));
    }
    system("pause");
    return 0;
}
0
Евгения01
13 / 13 / 5
Регистрация: 29.10.2015
Сообщений: 311
30.04.2018, 16:02  [ТС] 3
stake-k26, да, мне нужно по C++, а не подскажите , как она нём будет выглядеть
0
stake-k26
618 / 432 / 332
Регистрация: 25.04.2016
Сообщений: 1,218
30.04.2018, 17:17 4
Здесь раздел по си, так что нет, не подскажу.

Добавлено через 59 секунд
Но кое-какой намек дам. Почти точно так же.

Добавлено через 11 минут
А хотя, не важно. Просто на будущее постарайтесь не путать разделы.

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
#include <iostream>
#include <cstdlib>
#include <ctime>
//#include <conio.h>
using namespace std;
 
double min (double a, double b) { return (a<b)? a : b; }
double mmn (double a, double b, double c) { return min(min(a, b), c); }
 
int main (void)
{
    srand(time(NULL));      // msvs: srand(_getpid());
    int i, m = 100;
    double a, b, c;
    for(i=0; i<3; i++)
    {
        a = (rand() %m) / 100.0;
        b = (rand() %m) / 100.0;
        c = (rand() %m) / 100.0;
        cout << "a = " << a << endl << "b = " << b << endl << "c = " << c << endl;
        cout << "min = " << mmn(a, b, c) << endl << endl;
    }
    //system("pause");
    return 0;
}
Или вы можете оставить все точно так же, как и в си, поскольку с++ без проблем поддерживает инклуды сишных библиотек.

Добавлено через 13 минут
И еще один момент. Фукнция и программа - это не одно и то же. Функция - это кусочек кода, который выполняет некую последовательность действий и возвращает или не возвращает какой-то результат. В приведенном коде функциями являются:

C
1
2
double min (double a, double b) { return (a<b)? a : b; }
double mmn (double a, double b, double c) { return min(min(a, b), c); }
и они, как вы можете заметить, совершенно никак не изменились. Что в си, что в с++ они одинаковые.

Как вариант эти две функции можно заменить на одну:
C
1
double min (double a, double b, double c) { return (a<b)? (a<c? a : c) : (b<c? b : c); }
которая будет делать то же самое, т.е. находить минимальное из трех чисел.

Если у вас проблемы с пониманием тернарных операторов, то эту строку можно переписать как:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    double  min;
    if (a < b)
    {
        if (a < c)
            min = a;
        else
            min = c;
    }
    else
    {
        if (b < c)
            min = b;
        else
            min = c;
    }
    return min;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2018, 17:17

Разработать функцию, которая возвращает наименьшее общее кратное трех заданных натуральных чисел
Разработать функцию, которая возвращает наименьшее общее кратное трех заданных натуральных чисел.

Напишите функцию, которая возвращает наименьшее из значений a, b, c
Напишите функцию, которая возвращает наименьшее из значений a, b, c. и задачу на оборот.

Напишите функцию, которая возвращает наименьшее из значений
Напишите функцию, которая возвращает наименьшее из значений |x-y|, |y-z|, |z-x|.


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

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

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