0 / 0 / 0
Регистрация: 01.12.2014
Сообщений: 11
1

Разработать функцию типа double

04.04.2015, 13:13. Показов 788. Ответов 12
Метки нет (Все метки)

Разработать функцию типа double, которая возвращает куб входного параметра, если его значение положительное, если другое -возвращает квадрат входного параметра.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2015, 13:13
Ответы с готовыми решениями:

Аргумент типа double несовместим с параметром типа double
#include <iostream> #include <cmath> #include <math.h> using namespace std; #define c 40...

Аргумент типа double несовместим с параметром типа double*
Функция function должна возвращать количество элементов массива, значение которые превышает...

Написать функцию, формирующую на базе исходной строки число типа Double
ребята программисты, помогите. Дана строка, содержащая число с десятичной точкой. написать...

Создать и перегрузить функцию вычисляющую сумму двух чисел типа int и double
Создать и перегрузить функцию вычисляющую сумму двух чисел типа int и double.числа вводить с экрана

12
2431 / 1831 / 404
Регистрация: 15.12.2013
Сообщений: 8,086
04.04.2015, 13:16 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
    #include <iostream>
    double func(double p)
    {
    if(p>0) return p*p*p;
    else return p*p;
    }
     
    int main() {
    std::cout<<func(-2)<<std::endl;
    std::cout<<func(2)<<std::endl;
    return 0;
    }
1
Эксперт CЭксперт С++
5084 / 2269 / 332
Регистрация: 20.02.2013
Сообщений: 5,598
Записей в блоге: 19
04.04.2015, 14:23 3
А можно и так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
double func(double p)
{
    p = p > 0 ? p * p * p : p * p;
    return p;
}
 
int main()
{
    std::cout << func(-2) << std::endl;
    std::cout << func(2) << std::endl;    
    return 0;
}
Добавлено через 2 минуты
Или даже так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
double func(double p)
{
    return p > 0 ? p * p * p : p * p;
}
 
int main()
{
    std::cout << func(-2) << std::endl;
    std::cout << func(2) << std::endl;    
    return 0;
}
0
2 / 2 / 1
Регистрация: 07.03.2015
Сообщений: 34
04.04.2015, 14:24 4
Или так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
double func(double p)
{
    return p > 0 ? p * p * p : p * p;
}
 
int main()
{
    std::cout << func(-2) << std::endl;
    std::cout << func(2) << std::endl;    
    return 0;
}
Добавлено через 12 секунд
LOL
0
Эксперт CЭксперт С++
5084 / 2269 / 332
Регистрация: 20.02.2013
Сообщений: 5,598
Записей в блоге: 19
04.04.2015, 14:34 5
sydigo, хмм... и в чём соль? Типа загадка на тему "найдите 10 различий"?

Добавлено через 29 секунд
sydigo, или мы просто синхронно мыслим? ))
0
Модератор
Эксперт по электронике
8697 / 6495 / 879
Регистрация: 14.02.2011
Сообщений: 22,717
04.04.2015, 14:49 6
а еще так
C++
1
2
3
4
5
6
7
double func(double p)
{
double tmp=1.0;
  if(p>0)
    tmp*=p;
      return  p * p *tmp;
}
1
Эксперт CЭксперт С++
5084 / 2269 / 332
Регистрация: 20.02.2013
Сообщений: 5,598
Записей в блоге: 19
04.04.2015, 15:01 7
ValeryS, да можно по-всякому... Можно в цикле зафигачить:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
double func(double p)
{
    double result = p;
    int n = p > 0 ? 3 : 2;
    for (int i = 1; i < n; ++i)
        result *= p;
    return result;
}
 
int main()
{
    std::cout << func(-2) << std::endl;
    std::cout << func(2) << std::endl;
    return 0;
}
Добавлено через 50 секунд

Не по теме:

Ща любители STL подтянутся ^___^

0
Модератор
Эксперт по электронике
8697 / 6495 / 879
Регистрация: 14.02.2011
Сообщений: 22,717
04.04.2015, 15:06 8
Цитата Сообщение от gru74ik Посмотреть сообщение
Можно в цикле зафигачить:
тогда уж так, чтобы не было ветвлений
C++
1
2
3
4
5
6
7
8
double func(double p)
{
    double result = p;
    int n = (p > 0) +2;
    for (int i = 1; i < n; ++i)
        result *= p;
    return result;
}
1
S_el
04.04.2015, 15:08
  #9

Не по теме:

Цитата Сообщение от gru74ik Посмотреть сообщение
Ща любители STL подтянутся ^___^
Любители STL знают,когда её целесообразно использовать,а когда нет :)

0
Эксперт CЭксперт С++
5084 / 2269 / 332
Регистрация: 20.02.2013
Сообщений: 5,598
Записей в блоге: 19
04.04.2015, 15:13 10
ValeryS, хитро, хитро! Там у тебя (p > 0) если true, то приводится к int, получается 1, а если false, то после приведения к int получается ноль. Я бы до такого даже не додумался.

Добавлено через 2 минуты

Не по теме:

Цитата Сообщение от S_el Посмотреть сообщение
Любители STL знают,когда её целесообразно использовать,а когда нет
S_el, тоже верно :)

0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
04.04.2015, 15:46 11
C++
1
2
3
4
double func(double p)
{
    return p * p * ( p > 0 ? p : 1 );
}
Имхо, циклы тут городить вообще не стоит.
0
Эксперт CЭксперт С++
5084 / 2269 / 332
Регистрация: 20.02.2013
Сообщений: 5,598
Записей в блоге: 19
04.04.2015, 16:29 12
Tulosba, да это уже так, извращения на тему пошли Естественно, циклы ни к чему тут.

Добавлено через 10 минут
ValeryS, используя твою идею, можно ещё и так сделать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
double func(double p)
{
    switch((p > 0))
    {
        case 0: return p * p;
        case 1: return p * p * p;
    }
}
 
int main()
{
    std::cout << func(-2) << std::endl;
    std::cout << func(2) << std::endl;
    return 0;
}
0
2 / 2 / 1
Регистрация: 07.03.2015
Сообщений: 34
04.04.2015, 17:37 13
Синхронно)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2015, 17:37
Помогаю со студенческими работами здесь

Написать функцию, которая почленно заключает первые четыре элемента двух заданных как параметры массивов типа double
Написать функцию, которая почленно заключает первые четыре элемента двух заданных как параметры...

Ошибка (активно) E0167 аргумент типа "double" несовместим с параметром типа "double *"
Ошибка (активно) E0167 аргумент типа &quot;double&quot; несовместим с параметром типа &quot;double *&quot; Ругается...

Массив чисел типа double передать в функцию, которая суммирует и возвращает сумму и массив
Написать функцию, которой передается массив чисел типа double, Функция суммирует элементы этого...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru