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

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

Войти
Регистрация
Восстановить пароль
 
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
#1

Перенагрузка функции - C++

16.10.2012, 23:07. Просмотров 321. Ответов 8
Метки нет (Все метки)

Надо написать с помощю перегагрузки такую задачу: Нахождение максимума двух, трех, четырех целых чисел.
во что я написал
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 <stdio.h> 
#include <conio.h> 
int max(int,int); 
int max(int,int,int); 
int max(int,int,int,int); 
main(){ 
        int a,b,c,d;
        scanf("%d%d%d%d",&a,&b,&c,&d);
        max(a,b); 
        max(a,b,c); 
        max(a,b,c,d); 
        getch(); 
        return 0; } 
int max(int x,int y) { 
    if  (x>y)printf("MAX= %d",x);
    else printf("MAX= %d",y);
    return 0;}
int sum(int x,int y,int z) { 
    if  (x>y&&x>z)printf("MAX= %d",x);
    if  (y>x&&y>z)printf("MAX= %d",y);
    if  (z>y&&z>x)printf("MAX= %d",z);
    return 0;}
int sum(int x,int y,int z,int f) {
    if  (x>y&&x>z&&x>f)printf("MAX= %d",x);
    if  (y>x&&y>z&&y>f)printf("MAX= %d",y);
    if  (z>y&&z>x&&z>f)printf("MAX= %d",z);
    if  (f>y&&f>x&&f>z)printf("MAX= %d",f);
    return 0;}
програма почемуто не компилюеться(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2012, 23:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перенагрузка функции (C++):

Перенагрузка масивов - C++
Перегрузить масив в виде очереди.Выручайте АДТ - черга. Додатково перевантажити наступні операції: + - додати елемент; - - витягнути...

Функции. Как после одного возвратного значения функции отталкиваться от возврата другой функции - C++
Написал код, в котором 2 функции одна возвращает стринговое значение, вторая должна бы вернуть значение, отталкиваясь от первой. Возможно...

Перенагрузка оперативной памяти - Windows XP
Знач проблема такова, в течении часа , после того как включаю компьютер с оперативной памятью происходит что-то непонятное, а именно: в...

excel. создать таблицу значение кусочно-непрерывной функции y на интервале [xmin; xmax] с шагом h, для расчета функции y используя логические функции - Delphi

Вычислить m значений функции f(x) на отрезке [a, b]. Вычисление величины f(x) оформить в виде функции - C++
Составить программу решения поставленной задачи: Вычислить m значений функции f(x) на отрезке . Вычисление величины f(x) оформить в виде...

Вычислить значение функции e^x=1+x+x^2/2+x^3+3 и сравнить полученной результат c значением стандартной функции - Pascal ABC
Здраствуйте! Пожалуйста укажите услугу в помочи, вот задачка: Оформить у виде программы исчисленнои функции e^x=1+x+x^2/2+x^3+3 и...

8
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
16.10.2012, 23:08 #2
потому что реализацию функций надо писать до их вызова , отправть main , после всех
1
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
16.10.2012, 23:11  [ТС] #3
Nixy, во так?
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 <stdio.h> 
#include <conio.h> 
int max(int,int); 
int max(int,int,int); 
int max(int,int,int,int); 
int max(int x,int y) { 
    if  (x>y)printf("MAX= %d",x);
    else printf("MAX= %d",y);
    return 0;}
int sum(int x,int y,int z) { 
    if  (x>y&&x>z)printf("MAX= %d",x);
    if  (y>x&&y>z)printf("MAX= %d",y);
    if  (z>y&&z>x)printf("MAX= %d",z);
    return 0;}
int sum(int x,int y,int z,int f) {
    if  (x>y&&x>z&&x>f)printf("MAX= %d",x);
    if  (y>x&&y>z&&y>f)printf("MAX= %d",y);
    if  (z>y&&z>x&&z>f)printf("MAX= %d",z);
    if  (f>y&&f>x&&f>z)printf("MAX= %d",f);
    return 0;}
int main(){ 
        int a,b,c,d;
        scanf("%d%d%d%d",&a,&b,&c,&d);
        max(a,b); 
        max(a,b,c); 
        max(a,b,c,d); 
        getch(); 
        return 0; }
всеравно ошибка
0
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
16.10.2012, 23:13 #4
да еще я не сразу увидел,
C++
1
2
3
int max(int,int); 
int max(int,int,int); 
int max(int,int,int,int);
необходимы именна переменных , просто типов не достаточно, и у вас нету описания для последнего, точнее есть, но вы их sum назвали
1
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
16.10.2012, 23:15  [ТС] #5
Nixy, а какие имена дать? и где нету описания? что я не догоняю
0
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
16.10.2012, 23:16 #6
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
31
32
33
34
35
36
#include <stdio.h>
#include <conio.h>
int max(int x ,int y);
int max(int x ,int y ,int z);
int max(int x ,int  y,int z ,int f); // имена
 
int max(int x,int y) {
    if  (x>y)printf("MAX= %d",x);
    else printf("MAX= %d",y);
    return 0;
}
 
int max(int x,int y,int z) {  // было sum
    if  (x>y&&x>z)printf("MAX= %d",x);
    if  (y>x&&y>z)printf("MAX= %d",y);
    if  (z>y&&z>x)printf("MAX= %d",z);
    return 0;
}
 
int max(int x,int y,int z,int f) { // было sum
    if  (x>y&&x>z&&x>f)printf("MAX= %d",x);
    if  (y>x&&y>z&&y>f)printf("MAX= %d",y);
    if  (z>y&&z>x&&z>f)printf("MAX= %d",z);
    if  (f>y&&f>x&&f>z)printf("MAX= %d",f);
    return 0;
}
 
    main(){
        int a,b,c,d;
        scanf("%d%d%d%d",&a,&b,&c,&d);
        max(a,b);
        max(a,b,c);
        max(a,b,c,d);
        getch();
        return 0;
    }
1
ozzy_b
2 / 2 / 0
Регистрация: 02.10.2012
Сообщений: 169
16.10.2012, 23:22  [ТС] #7
Nixy, спасибо, теперь работает)
0
mrmaster88
42 / 42 / 3
Регистрация: 13.04.2012
Сообщений: 112
17.10.2012, 00:24 #8
на всякий случай: в новых компиляторах int как тип возвр. значения уже не используется по-умолчанию, поэтому:
int main()
0
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
17.10.2012, 00:49 #9
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
#include <cstdio>
 
int max(int n1, int n2) {
 
    return n1 > n2 ? n1 : n2;
}
 
int max(int n1, int n2, int n3) {
 
    int t = max(n1, n2);
    return t > n3 ? t : n3;
}
 
int max(int n1, int n2, int n3, int n4) {
 
    int t = max(n1, n2, n3);
    return t > n4 ? t : n4;
}
 
int main() {
 
    int a,b,c,d;
    
    std::scanf("%d%d%d%d", &a, &b, &c, &d);
 
    std::printf("%d %d\nmax = %d\n\n", a, b, max(a, b));
    std::printf("%d %d %d\nmax = %d\n\n", a, b, c, max(a, b, c));
    std::printf("%d %d %d %d\nmax = %d\n\n", a, b, c, d, max(a, b, c, d));    
}
0
17.10.2012, 00:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2012, 00:49
Привет! Вот еще темы с ответами:

Различные функции, для которых можно создать массив указателей на функции - C++
Придумайте не менее 3-х различных функций, для которых можно создать массив указателей на функции.

Вычислить якобиан векторной функции векторного аргумента с помощью стандартной функции - Matlab
Доброго времени суток! пожалуйста помогите!! необходимо вычислить якобиан векторной функции векторного аргумента с помощью стандартной...

Для заданной функции f=Sin(2.8*x^2)+sqrt(1.2*x) вывести на экран значения функции - Turbo Pascal
Для заданной функции f=Sin(2.8*x^2)+sqrt(1.2*x) вывести на экран значения функции,которые лежат в пределах от -1 до 2 и соответствующие им...

.NET 3.x Как находясь в функции узнать имя данной функции? (Compact Framework) - C#
Как находясь в функции узнать имя данной функции? Нашел несколько вариантов для обычного Framework 1) using System.Diagnostics; ...


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

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

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