Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
decades
1 / 0 / 1
Регистрация: 26.12.2013
Сообщений: 17
#1

Написать реализацию перегруженных функций - C++

15.02.2014, 22:05. Просмотров 499. Ответов 4
Метки нет (Все метки)

Написать реализацию перегруженных функций:
double func (int * arr, int length);
double func (double * arr, int length);
Функция func возвращает среднее арифметическое элементов последовательности между минимальным и максимальным элементами.

Мои наработки
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include<iostream>
 
using namespace std;
 
double func(int* arr, int length)
{
 
    int length1;
    cout<<"Write array size:";
    cin>>length1;
    int len=length1-2;
    int* array=new int[length1];
    array[length1];
    cout<<"Write array elements:";
    for (int i = 1; i<length1; i++)
    {
    cin >>array[i];
    }
 
    int i;
    int  min=array[0];
    int minID=0;
    for (i = 1; i < length1; i++)
    
    if (array[i] < min) 
      {
       min = array[i];
       minID = i;
       }
        cout<<"\n"<<minID;
 
        int  max=array[0];
    int maxID=0;
    for (i = 1; i < length1; i++)
    
    if (array[i] > max) 
      {
       max = array[i];
       maxID = i;
       }
        cout<<"\n"<<minID<<maxID;
 
    int medium;
    
    int sum=0;
    int size=0;
    array=new int[len];
    if (minID<array[i])
    //if (array[i]<maxID)
    for(i=0;i<len;i++)
    {
    
        sum+=array[i];
        size=size+1;
    }
    medium=sum/size;
    cout<<"\n"<<medium<<"\n";
    system("pause");
    return 0;
    
    }
 
int main()
{
    int len=0;
    int *NEWarr=new int [len];
    func(NEWarr, len);
    return 0;
    
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2014, 22:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать реализацию перегруженных функций (C++):

Написать реализацию перегруженных функций - C++
Написать реализацию перегруженных функций: int func (double * arr, int length); int func (char * str);

Написать группу перегруженных функций, которые возвращают модуль целого, длинного целого - C++
Вот задали в Университете написать програмки кому может пригодятся ришал,даю задание а ниже код: 1) Написать программу с помощью...

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

Реализация перегруженных функций - C++
Нужна помощь по реализации перегруженных функций: int func (int * arr, int length, int number); int func (char * str, char ch); ...

Нужны примеры реализаций перегруженных функций - C++
Скиньте мне примеры реализаций перегруженных функций написаные в фомах (Form) кому не жалко буду благодарен или хоть пример наведите как...

Наведите пожалуйста примеры перегруженных функций в с++ - C++
Я примерно понимаю , что такое перегруженная функция(одно имя , но разное количество или тип параметров ) . Наведите пожалуйста какие-то...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Prog_S
7 / 7 / 3
Регистрация: 01.03.2010
Сообщений: 61
16.02.2014, 01:55 #2
а вы уже отправили ведь длину и массив. т.е вы сперва их считываете и отправляете массив и его длину в в функцию. внутри функции только обрабока

Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
double func (int * arr, int length)
{ 
 
int imin=0, imax=0;
  for (i = 1; i < length; i++)
    {
       if (a[i] > a[imax]) imax = i;
       if (a[i] < a[imin]) imin = i;
   }
 if imin>imax {int temp=imax; imax=imin; imin=temp; }
int sum=0,k=0;
for (i=imin; i<=imax; i++)
{sum=sum+a[i]; k++} 
return sum/k; 
}
double func (double * arr, int length)
{
в точности тоже самое только типы меняем
}
decades
1 / 0 / 1
Регистрация: 26.12.2013
Сообщений: 17
16.02.2014, 13:11  [ТС] #3
только тепер не могу обратится к функции в мейне

Добавлено через 24 минуты
есть две проблемы
у меня не передает значения в функцию, но в отладке передает, НО imin считает неверно
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include<iostream>
 
using namespace std;
 
double func(int* arr, int length)
{
    int imin = 0;
    int imax = 0;
        for (int i = 1; i < length; i++)
        {
            if (arr[i] > arr[imax])
                imax = i;
            if (arr[i] < arr[imin]) 
                imin = i;
        }
        if (imin>imax)
        { 
            int temp = imax;
            imax = imin; 
            imin = temp;
            }
        int sum = 0, k = 0;
        for (int i = imin; i <= imax; i++)
        {
            sum = sum + arr[i];
            k++;
        }
 
        cout<<sum; 
        cout <<k;
        return 0;
}
 
 
int main()
{
    
    int len;
    cout << "Write array size:";
    cin >> len;
    int* arrayn = new int[len];
    cout << "Write array elements:";
    for (int i = 1; i<len; i++)
    {
        cin >> arrayn[i];
    }
    func(arrayn, len);
    
    system("pause");
    return 0;
 
}
Prog_S
7 / 7 / 3
Регистрация: 01.03.2010
Сообщений: 61
16.02.2014, 15:36 #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
вы считываете с первого. надо с нулевого.
C++
1
2
3
4
for (int i = 0; i<len; i++)
    {
        cin >> arrayn[i];
    }
и когда находим мин и макс
C++
1
2
3
4
 if (arr[i] >= arr[imax])
                imax = i;
            if (arr[i] <= arr[imin]) 
                imin = i;
Цитата Сообщение от decades Посмотреть сообщение
только тепер не могу обратится к функции в мейне

Добавлено через 24 минуты
есть две проблемы
у меня не передает значения в функцию, но в отладке передает, НО imin считает неверно
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include<iostream>
 
using namespace std;
 
double func(int* arr, int length)
{
    int imin = 0;
    int imax = 0;
        for (int i = 1; i < length; i++)
        {
            if (arr[i] > arr[imax])
                imax = i;
            if (arr[i] < arr[imin]) 
                imin = i;
        }
        if (imin>imax)
        { 
            int temp = imax;
            imax = imin; 
            imin = temp;
            }
        int sum = 0, k = 0;
        for (int i = imin; i <= imax; i++)
        {
            sum = sum + arr[i];
            k++;
        }
 
        cout<<sum; 
        cout <<k;
        return 0;
}
 
 
int main()
{
    
    int len;
    cout << "Write array size:";
    cin >> len;
    int* arrayn = new int[len];
    cout << "Write array elements:";
    for (int i = 1; i<len; i++)
    {
        cin >> arrayn[i];
    }
    func(arrayn, len);
    
    system("pause");
    return 0;
 
}
decades
1 / 0 / 1
Регистрация: 26.12.2013
Сообщений: 17
16.02.2014, 21:05  [ТС] #5
спасибо огромное!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2014, 21:05
Привет! Вот еще темы с ответами:

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

Неоднозначный вызов перегруженных функций sin и pow - C++
помогите. библиотека math.h подключена. когда в теле програмы пишу: f1=cos(pow(x,2))*sin(2*x-1)+4.29; выкидывает ошибки: ...

Как посмотреть реализацию функций STL? - C++
Доброго времени суток. Вопрос возник в процессе выполнения упражнений из книги &quot;Язык программирования C++&quot; Страуструпа. Он предлагает...

Написать свою реализацию deque - C++
Всем привет, требуется написать свою реализацию deque. Я до этого никогда не сталкивался с распределением памяти, аллокаторами и другими...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.02.2014, 21:05
Ответ Создать тему
Опции темы

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