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

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

Войти
Регистрация
Восстановить пароль
 
Starstuck
4 / 4 / 0
Регистрация: 01.02.2012
Сообщений: 124
#1

Создать шаблон для вычисления среднего - C++

23.03.2013, 13:40. Просмотров 404. Ответов 7
Метки нет (Все метки)

Создать шаблон функции для вычисления среднего без учета максимального и минимального значений. Проверить для массива чисел a[i] = tg(1/i), где i = 1,2,...,100; a[i]=(A,B,C,D,...Z).

Не понимаю как сделать вообще, помогите?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2013, 13:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать шаблон для вычисления среднего (C++):

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

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

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

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

Шаблон функции для нахождения среднего арифметичного элементов масива - C++
Написать шаблон функции для нахождения среднего арифметичного елементов масива.

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

7
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
23.03.2013, 13:57 #2
Ну как я понял, надо удалить с массива минимальное и максимальное числа, потом посчитать сумму всех оставшихся и разделить на их количество. Все просто
1
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
23.03.2013, 14:12 #3
Коряво слегка.
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
#include <ctime>
#include <cstdlib>
#include <iostream>
#include <string>
 
template <class T, class Iterator>
T strangeAverage(Iterator begin, Iterator end) {
  if (begin == end) return 0;
  Iterator min = begin;
  Iterator max = begin;
  T sum = *begin++;
  size_t count = 1;
  while (begin != end) {
    if (*begin < *min) min = begin;
    if (*begin > *max) max = begin;
    sum += *begin++;
    ++count;
  }
  if (count == 2) return 0;
  std::cout << sum << " " << *min << " " << *max << " " << count << std::endl;
  sum -= *min + *max;
  return sum / (count - 2);
}
 
int main(int argc, char **argv) {
  srand(time(0));
 
  double v[] = {0.5, 0.2, 0.7, 2.0, 0.1};
  // v = (0.5 + 0.2 + 0.7) / 3 = 1.4 / 3 = 0.46
  double x = strangeAverage<double>(v, v + sizeof(v) / sizeof(v[0]));
 
  std::cout << x << std::endl;
  std::cin.get();
  return 0;
}
1
Starstuck
4 / 4 / 0
Регистрация: 01.02.2012
Сообщений: 124
23.03.2013, 14:15  [ТС] #4
yuron_477, а с буквами как быть? Ну неужели посчитать СРЕДНИЙ ASCII код? ахах
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
23.03.2013, 14:19 #5
Цитата Сообщение от Starstuck Посмотреть сообщение
а с буквами как быть? Ну неужели посчитать СРЕДНИЙ ASCII код?
Если операция сложения букв худо-бедно определена, то операция деления букв на число -- уже не очень.
Средний ASCII код -- волне логично.

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
#include <ctime>
#include <cstdlib>
#include <iostream>
#include <string>
 
template <class T, class Iterator>
T strangeAverage(Iterator begin, Iterator end) {
  if (begin == end) return 0;
  Iterator min = begin;
  Iterator max = begin;
  T sum = *begin++;
  size_t count = 1;
  while (begin != end) {
    if (*begin < *min) min = begin;
    if (*begin > *max) max = begin;
    sum += *begin++;
    ++count;
  }
  if (count == 2) return 0;
  sum -= *min + *max;
  return sum / (count - 2);
}
 
int main(int argc, char **argv) {
  srand(time(0));
 
  char v[] = "abcdefghijklmnopqrstuvwxyz";
  double x = strangeAverage<double>(v, v + sizeof(v) / sizeof(v[0]) - 1);
 
  std::cout << char(x) << std::endl;
  std::cin.get();
  return 0;
}
Средняя буква -- 'm'.

Лучше спросите у преподавателя, что имеется в виду.
1
Starstuck
4 / 4 / 0
Регистрация: 01.02.2012
Сообщений: 124
23.03.2013, 14:30  [ТС] #6
lemegeton, спасибо огромное, разобрался и все понял.

Позволь задать еще один вопрос

Как правильно разбить этот файл на два файла с расширениями .h и .cpp ?
1
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
23.03.2013, 14:40 #7
Вынесите всю функцию целиком в отдельный файл с расширением .h и подключите к основному коду.
1
Starstuck
4 / 4 / 0
Регистрация: 01.02.2012
Сообщений: 124
23.03.2013, 16:13  [ТС] #8
lemegeton, спасибо!
0
23.03.2013, 16:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2013, 16:13
Привет! Вот еще темы с ответами:

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

Напишите программу в С для вычисления среднего арифметического для 3 чисел - C++
Имею код, но он не работает. Что делать!? Помогите! int main() { float x,y,z,p; printf(&quot;Write down x,y,z:&quot;); ...

Функция для вычисления среднего роста - C++
помогите разобраться в чем дело,надо посчитать средний рост женщин, почему пишет что &quot;rost&quot; и &quot;pol&quot; не инициализированы, что в функции не...

Составить программу для вычисления среднего балла студентов - C++
Привет всем )) Задача (язык С + +). Составить программу для вычисления среднего балла студентов, если количество студентов и оценки...


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

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

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