Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.51/47: Рейтинг темы: голосов - 47, средняя оценка - 4.51
9 / 1 / 3
Регистрация: 15.06.2016
Сообщений: 224

Шаблон функции (функция подсчета среднего арифметического)

10.04.2018, 18:11. Показов 9149. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго дня.

Задание звучит так: "Написать программу, которая определяет среднее арифметическое в одномерных массивах различных арифметических типов. Используйте шаблон функции."

Собственно код:
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
// подключаем библиотеки
#include <iostream>
#include <math.h>
// объявляем пространство имен
using namespace std;
 
// шаблонные массивы
int m1[] = {1,3,4,5};
float m2[] = {1.0,3.0,4.0,5.0};
// определяем шаблон
template <class T>
// функция выводит среднее значение элементов массива поточным выводом
void middle(T massive[]);
 
int main() {
    // m2 взят для примера из заранее обьявленого шаблона
    middle(m2);
 
    system("pause");
    return 0;
}
 
template <class T>
void middle(T massive[]) {
    T value = 0;
    // проходкой по массиву считаем сумму его элементов
    for (int i = 0; i < sizeof(massive); i++){
        value += massive[i];
    }
// подсчитываем среднее значением
    value /= sizeof(massive);
    // выводим
    cout << "Middle value = " << value << endl;
}
При защите задания, преподавателю не понравилось что я использовал m1,m2. Почему, я так и не понял. При попытке объяснить что это лишь примеры массивов для тестирования функций - меня не стали слушать. Я сделал вывод : в функцию нужно передавать массив разных типов данных {1,1.3...}. Поискав в интернете, не нашел похожей реализации. Возможно я что-то не так понял?
Никак не могу найти создание массива шаблона T, пытался создать динамически - потерпел фиаско.
SOS

Добавлено через 4 минуты
Как вариант:
Можно перегрузить функцию middle на несколько массивов. Таким образом будут подгружаться массивы разных типов данных , а после суммироваться аргументы обоих массивов и делиться на их общее количество.
Однако рациональным этот путь не назову. Все еще жду толкового объяснения
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.04.2018, 18:11
Ответы с готовыми решениями:

Написать шаблон функции для поиска среднего арифметического массива
Написать шаблон функции для поиска среднего арифметического значений массива

Шаблон функции для поиска среднего арифметического элементов двумерной матрицы
Как сделать шаблон функции для поиска среднего арифметического для двумерной матрицы для с++?Рассмотреть тип данных int. Помогите,...

Написать шаблон функции для поиска среднего арифметического значений массива
Кто знает как решить задачу на С++, при помощи шаблонов функций? Написать шаблон функции для поиска среднего арифметического значений ...

20
9 / 1 / 3
Регистрация: 15.06.2016
Сообщений: 224
10.04.2018, 22:05  [ТС]
Студворк — интернет-сервис помощи студентам
Спасибо всем кто принимал участие, как оказалось и в решении была ошибка
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.04.2018, 22:05
Помогаю со студенческими работами здесь

Шаблон функции вычисляющей квадрат среднего арифметического четных элементов массива
Шаблон функции в которую передается массив и поворачивается квадрат среднего арифметического всех парных элементов

Написать шаблон функции для поиска среднего арифметического значений массива
#include &lt;iostream&gt; #include &lt;windows.h&gt; using namespace std; template &lt;typename T&gt; int arifm( T mas, int size) { int...

Функция вычисления среднего арифметического и среднего геометрического двух чисел
Описать функцию Mean(X, Y, AMean, GMean), вычисляющую среднее арифметическое AMean = (X+Y)/2 и среднее геометрическое GMean = (X·Y)1/2 двух...

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

В программе организовать функцию для подсчета среднего арифметического ненулевых элементов массива
Помогите плз вообще не понимаю( 1. Сформировать динамический массив Х размера MxN из случайных целых чисел. В программе организовать...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru