Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 25.04.2021
Сообщений: 80

Почему return возвращает только целые значения?

17.10.2021, 15:25. Показов 1141. Ответов 1

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста понять, где у меня ошибка. По заданию нужно было реализовать перегрузку функций для разных типов данных.
Все отлично работает, но почему-то после вызова функции возвращаются только целочисленные значения, хотя в массиве у меня есть типы double и float.

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
#include <iostream>
#include <cstring>
using namespace std;
//фукнция подсчета среднего значения для типа int
int srzn(int *a1, int iSize, int sum=0)
{
    for (int ix = 0; ix < iSize; ix++)
    { 
        sum=sum + a1[ix];
    }
    return sum / iSize;
}
//фукнция подсчета среднего значения для типа double
int srzn(double* a2, double dSize, double sum = 0)
{
    for (int ix = 0; ix < dSize; ix++)
    {
        sum = sum + a2[ix];
    }
    return sum / dSize;
}
//фукнция подсчета среднего значения для типа float
int srzn(float* a3, float fSize, float sum = 0)
{
    for (int ix = 0; ix < fSize; ix++)
    {
        sum = sum + a3[ix];
    }
    return sum / fSize;
}
int main()
{
    setlocale(LC_ALL, "rus");
    // размеры массивов
    const int iSize = 7,dSize = 5, fSize = 3;
    // массивы разных типов данных
    int    iArray[iSize]= { 1, 2, 3, 4, 5, 6, 7};
    double dArray[dSize]= { 1.2345, 2.234, 15.57, 4.6276, 5.346};
    float  fArray[fSize]= { 1.34, 2.37, 3.23 };
    /// ///////////////////////////////////////////////////////////////////////////////////////////////
    cout << "\t\t\t\t\t ПЕРЕГРУЗКА ФУНКЦИЙ\n\n";
    // вызов функций перегрузки
    cout << srzn(iArray, iSize) << endl;
    cout << srzn(dArray, dSize) << endl;
    cout << srzn(fArray, fSize) << endl;
   
}
Консоль выводит числа 4, 5 и 2. Хотя должна выводить 4 (int), 5.8(double) и 2.31 (float)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.10.2021, 15:25
Ответы с готовыми решениями:

return почему-то возвращает underfined
Здравствуйте! Подскажите пожалуйста, почему в console.log все выводится хорошо (true/false), и при return - underfined ? код: ...

Почему return не возвращает значение?
Ребят, подскажите пожалуйста, почему функция find_support не возвращает значение return'ом? При этом строчкой выше я вывожу значение с...

Почему return xmlhttp.responseText возвращает undefined?
Всем доброго дня!) if (xmlhttp.readyState == 4) { if(xmlhttp.status == 200) { ...

1
Модератор
Эксперт С++
 Аватар для zss
13776 / 10969 / 6491
Регистрация: 18.12.2011
Сообщений: 29,251
17.10.2021, 15:28
Лучший ответ Сообщение было отмечено Канеки Кен как решение

Решение

Цитата Сообщение от Канеки Кен Посмотреть сообщение
int srzn(float* a3, float fSize, float sum = 0)
Так у Вас и написано, что она возвращает int
Переделайте на float.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//фукнция подсчета среднего значения для типа int
double srzn(int *a, int iSize)
{
    int sum=0;
    for (int ix = 0; ix < iSize; ix++)
    { 
        sum +=a[ix];
    }
    return (double)sum / iSize;
}
 
//фукнция подсчета среднего значения для типа double
double srzn(double *a, int iSize)
{
    double sum=0;
    for (int ix = 0; ix < iSize; ix++)
    { 
        sum +=a[ix];
    }
    return sum / iSize;
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.10.2021, 15:28
Помогаю со студенческими работами здесь

Что делать, если return возвращает 3 значения?
Здравствуйте. Есть функция, которая возвращает 3 массива, что-то типа такого: def func1(): ... return a, b, c Хочу...

Как происходит передача значения после return 0 и почему после return ставится 0
#include &lt;stdio.h&gt; int power(int m, int n); /* тест функции power */ main() { int i; for (i = 0: i &lt; 10, ++i) ...

Почему x принимает ТОЛЬКО целые числа?
Хочу чтобы принимал и нецелые числа #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;windows.h&gt; #include &lt;locale.h&gt; ...

Почему считает только целые,а на десятичных выдаёт ошибку?
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication2 { class Program ...

Почему string.match возвращает только одно совпадение ?
'ZzZ'.match(new RegExp(/zz/,'gi'))


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Контроль корректности заполнения дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru