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

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

Войти
Регистрация
Восстановить пароль
 
fuzzytoozy
8 / 8 / 1
Регистрация: 23.11.2012
Сообщений: 94
#1

Шаблон функции. Некорректная работа - C++

18.03.2013, 22:03. Просмотров 244. Ответов 4
Метки нет (Все метки)

Здравствуйте. Проблема такая: ниже приведенный код почему то некорректно отображает вызовы со всеми последующими массивами после 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
#include <iostream>
using namespace std;
template<class Val>
//////////////////////////////////////////
Val avg( Val* arr[], const int SIZE )
{
 for( int j = 0; j < SIZE; j++)
 {
  Val temp += arr[j];
 }
 temp /= SIZE;
 return temp;
}
//////////////////////////////////////////
int main( int argc, char* argv[] )
{
 const int SZ = 5;
 float arr1[SZ] = { 24.23, 12.7, 9.2, 7.9, 5.4 };
 float tv1 = avg( arr1, SZ );
 ///////////////////////////////////////////////////
 int arr2[SZ] = { 27, 15, 17, 88, 48 };
 int tv2 = avg( arr2, SZ );
 ///////////////////////////////////////////////////
 long arr3[SZ] = { 52, 64, 78, 92, 33 };
 long tv3 = avg( arr3, SZ );
 system("PAUSE");
 return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2013, 22:03     Шаблон функции. Некорректная работа
Посмотрите здесь:

Некорректная работа функции pow - C++
Доброго времени суток. задали в универе написать прогу которая решала б кубическое уравнение.В расчетных формулах использовал функцию pow...

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

Некорректная работа повторно вызываемой функции - C++
wstring fdirection(void) { wcout &lt;&lt; L&quot;Введите путь к файлу, который хотите зашифровать (файл должен существовать): &quot; &lt;&lt; std::endl; ...

Некорректная работа компилятора - C++
простая схема для метода пузырькового упорядочения /* * Проект 4-1. Метод пузырькового * упорядочения. */ #include...

Некорректная работа цикла for. - C++
Ниже приведен код программы, вычисляющей по заданному n значение n!. Прошу объяснить, почему программа выдает отрицательные числа порядка...

Некорректная работа программы - C++
Добрый день! Я попытался решить задачу № 5 &quot;Статистика&quot; с сайта acmp.ру. Текст задачи: Вася не любит английский язык, но каждый...

Некорректная работа rand() - C++
В общем вот кусок кода и картинкой его реализация: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; ...

Некорректная работа программы - C++
Помогите, пожалуйста, понять почему не работает программа. Ввод предложения работает, однако после нажатия клавиши Enter инвертированный...

Некорректная работа cin.fileget() - C++
Здорова господа!!! Пытаюсь разобраться с потоками ввода/вывода вот есть код: #include &lt;iostream&gt; using std::cout; using...

Некорректная работа сложения строки - C++
void Nmin (int **matrix, const size_t rows, const size_t columns) { int min=10000; int Nmin ; int NumberStr; int...

Некорректная работа Map.find - C++
Всем привет! Есть такой код. однако при использовании rand() для создания экземпляров map.find работает некорректно (находит то, чего нет)....

Некорректная работа cin.getline() - C++
Доброго времени суток,господа знатоки. у меня есть двумерный массив char куда мне нужно записать строки и отсортировать но вот в чем...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
18.03.2013, 22:04     Шаблон функции. Некорректная работа #2
Цитата Сообщение от fuzzytoozy Посмотреть сообщение
C++
1
Val temp += arr[j];
Каждый раз создаете новую переменную?
fuzzytoozy
8 / 8 / 1
Регистрация: 23.11.2012
Сообщений: 94
18.03.2013, 22:13  [ТС]     Шаблон функции. Некорректная работа #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
#include <iostream>
using namespace std;
template<class Val>
//////////////////////////////////////////
Val avg( Val* arr, const int SIZE )
{
 Val temp;
 
 for( int j = 0; j < SIZE; j++)
 {
  temp += arr[j];
 }
 temp /= SIZE;
 return temp;
}
//////////////////////////////////////////
int main( int argc, char* argv[] )
{
 const int SZ = 5;
 float arr1[SZ] = { 24.23, 12.7, 9.2, 7.9, 5.4 };
 int arr2[SZ] = { 27, 15, 17, 88, 48 };
 long arr3[SZ] = { 52, 64, 78, 92, 33 };
 cout << avg( arr1, SZ ) << endl;
 cout << avg ( arr2, SZ ) << endl;
 cout << avg ( arr3, SZ ) << endl;
 
 system("PAUSE");
 return 0;
}
Добавлено через 28 секунд
последние 2 вызова функция возвращает значения похожие на адрес памяти. При каждом запуске различные. Почему?
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
18.03.2013, 22:18     Шаблон функции. Некорректная работа #4
C++
1
Val temp=0;
Добавлено через 45 секунд
Переменная temp не инициализирована, так что складываете со случайным значением, которое было в памяти. Отсюда и разные результаты.
fuzzytoozy
8 / 8 / 1
Регистрация: 23.11.2012
Сообщений: 94
18.03.2013, 22:19  [ТС]     Шаблон функции. Некорректная работа #5
оох и правда. thank you very much =*
Yandex
Объявления
18.03.2013, 22:19     Шаблон функции. Некорректная работа
Ответ Создать тему
Опции темы

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