Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
LiLi R.
0 / 0 / 0
Регистрация: 15.04.2010
Сообщений: 82
#1

Механизм перегрузки - C++

15.04.2010, 18:03. Просмотров 1657. Ответов 18
Метки нет (Все метки)

Ребят помогите. Нужно создать две версии функции, используя механимз перегрузки, заголовки у которых должны быть такими: №1 float F(float x); №2 void F (float x, float &y).
1)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <math.h>
using namespace std;
 
int main(){
    float F(float x){
    float y;
    cin>>x;
    if (fabs(x)<3)
        return y=sin(x);
    else if (fabs(x)<9)
        return y=sqrt(x*x+1)/sqrt(x*x+5);
    else return y=sqrt(x*x+1)-sqrt(x*x+5);
    cout<<y<<endl; 
    system("PAUSE");
    return 0;}
}
2)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <math.h>
using namespace std;
 
int main(){
    void F (float x, float &y){
    if (fabs(x)<3) y=sin(x);
    else if (fabs(x)<9) y=sqrt(x*x+1)/(x*x+5);
    else y=sqrt(x*x+1)-sqrt(x*x+5);
    cin>>x;
    cout<<y<<endl;
    system("PAUSE");
    return;}
}
В обоих версиях одна ошибка с F. Я новичёк поэтому пожалуста, не ругайте сильно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2010, 18:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Механизм перегрузки (C++):

Механизм перегрузки - C++
Здравствуйте, помогите решить задачу. С помощью механизма перегрузки функций организовать сложение: а) числа с самим собой (один...

механизм перегрузки функций - C++
С помощью механизма перегрузки функций реализовать функции для вывода на экран (первый параметр – тип выводимого значения (самостоятельно...

Используя механизм перегрузки функций, разработать две версии функции F - C++
Используя механизм перегрузки функций,разработать две версии функции F,заголовки которых выглядят так: 1) float F(float x); 2) void...

Используя механизм перегрузки функций, разработайте две версии функции F - C++
Используя механизм перегрузки функций, разработайте две версии функции F, заголовки которых выглядят следующим образом: 1) float...

Используя механизм перегрузки функции, вычислить для разных типов параметров - C++
Используя механизм перегрузки функции, разработать и отладить программу вычисление значения = f (x, y, z) для различных типов параметров....

Перегрузки - C++
Изменить программу предыдущей лабораторной работы. Функцию, определяющую бьет ли первая карта вторую, определить в базовом классе как...

18
Vorona
Peace 2 all shining faces
669 / 531 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
17.04.2010, 20:07 #16
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
#include <iostream>
#include <cmath>
 
float F(float x) {
    if (fabs(x)<3) 
        return sin(x);
    if (fabs(x)<9 && fabs(x)>=3) 
        return sqrt(x*x+1)/sqrt(x*x+5);
    return sqrt(x*x+1)-sqrt(x*x+5);
}
void F(float x, float &y) {
    if (fabs(x)<3) 
        y = sin(x);
    if (fabs(x)<9 && fabs(x)>=3) 
        y = sqrt(x*x+1)/sqrt(x*x+5);
    y = sqrt(x*x+1)-sqrt(x*x+5);
}
int main() {
    float x;
    float y;
    std::cin >> x;
    std::cout << F(x) << std::endl;
    F(x, y);
    std::cout << x << "; " << y << std::endl;
    
    system("PAUSE");
    return 0;
}
я думаю, что ф-ции должны быть одинаковыми , а у вас отличались при abs(x)<9
1
LiLi R.
0 / 0 / 0
Регистрация: 15.04.2010
Сообщений: 82
17.04.2010, 20:20  [ТС] #17
insideone, vorona - без вас я бы с ума сошла. Огромное спасибо
0
Vorona
Peace 2 all shining faces
669 / 531 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
17.04.2010, 20:39 #18

Не по теме:

но все равно мне не нравится, что результаты отличаются
при х = 4
результат ф-ции с типом float
0.899735
ф-ции с типом void
4; -0.45947


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>
#include <cmath>
 
float F(float x) {
    if (fabs(x)<3) 
                return sin(x);
        else if (fabs(x)<9 && fabs(x)>=3) 
                return sqrt(x*x+1)/sqrt(x*x+5);
    else
        return sqrt(x*x+1)-sqrt(x*x+5);
}
void F(float x, float &y) {
        if (fabs(x)<3) 
                y = sin(x);
    else if (fabs(x)<9 && fabs(x)>=3) 
                y = sqrt(x*x+1)/sqrt(x*x+5);
        else
        y = sqrt(x*x+1)-sqrt(x*x+5);
}
int main() {
        float x;
        float y;
        std::cin >> x;
        std::cout << F(x) << std::endl;
        F(x, y);
        std::cout << x << "; " << y << std::endl;
        
        system("PAUSE");
        return 0;
}
эта верняк работает
1
LiLi R.
0 / 0 / 0
Регистрация: 15.04.2010
Сообщений: 82
17.04.2010, 21:59  [ТС] #19
Vorona, щикарно. Thanks!
0
17.04.2010, 21:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2010, 21:59
Привет! Вот еще темы с ответами:

Перегрузки - C++
Помогите пожалуйста!!!! Перегрузку оператора – слева объект, справа другой тип данных вроде сделала, а перегрузку оператора – слева другой...

с++ перегрузки - C++
Нужна помощь с реализацией кода(перегрузка добавления элемента в массив) Полная постановка задачи. АТД - множество с элементами типа...

Перегрузки - C++
Помогите пожалуйста написать программу. Описать производный класс, содержащий поле козырь, и функцию, проверяющую кроет ли карта,...

Массивы и перегрузки - C++
Есть парочка вопросов. Как объявить указатель на двумерный массив? На одномерный в таком виде int *ptr = new int ; а с двумерным...


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

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

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