С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Работа с шаблонами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Рекурсивное умножение матриц http://www.cyberforum.ru/cpp-beginners/thread452756.html
С чего начать в первую очередь чтобы понять как реализовать рекурсивное умножение матриц? напишу обычную функцию для умножения матриц: const int n=1000; void mult (int x,int y,int z) { for...
C++ Обменять местами секторы матрицы Помогите решить задачу. Задано квадратную матрицу. Поменять элементы из одной закрашенной области на элементы в другую закрашенную область. Мне нужен, если можно, сам процесс обмена.... Вся программа... http://www.cyberforum.ru/cpp-beginners/thread452753.html
помогите составить программу с массивом C++
программа запрашивает пользователя о вводе трёх наборов, каждый из которых состоит и пяти чисел типа double. эта программа должна выполнять: сохранить информацию в массиве 3 на 5, вычислить среднее...
C++ Поле класса теряет информацию
Есть класс class anagramma{ map<string, list<string> > data; public: void operator ()(string d) { if(data.begin() == data.end()) cout<<" ТВОЮ МАТЬ"; string s = d;...
C++ Как это сделать? http://www.cyberforum.ru/cpp-beginners/thread452715.html
Как написать прогу, которая бы указывала количество слов в предложении, вводимое пользователем?
C++ Преобразование переменных #include <iostream> #include <string> using namespace std; int main() { int j,i=5; string ss=5; char h="$"; подробнее

Показать сообщение отдельно
.: TAPAKAH :.
Мега Таракан
110 / 11 / 1
Регистрация: 24.05.2010
Сообщений: 227

Работа с шаблонами - C++

25.02.2012, 21:00. Просмотров 902. Ответов 8
Метки (Все метки)

Доброго вечера! Сейчас решаю задачку на использование шаблонов, и вот с чем столкнулся: при вводе значений в массив, выдает ошибку (она на скрине)
Задача так выглядит:

Для работы с двумерными массивами арифметических типов данных
разработать шаблоны ввода и вывода массива,
а также шаблон для решения основной задачи:

Подсчитать среднее арифметическое элементов,
расположенных выше главной диагонали

Код

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
#include <iostream>
#include <cstdlib>
 
//-----------------------------------------------------------
template <class T, unsigned int n1, unsigned int n2>
void InArray(T (&t)[n1][n2])
{
  for(unsigned int i = 0; i < n1; i++)
  {
    for(unsigned int j = 0; j < n2; j++)
    {
      std::cout << "Array[" << i <<"]["<< j << "]-> ";
      std::cin >> t[i][j];
    }
  }
}
 
//-----------------------------------------------------------
template <class T, unsigned int n1, unsigned int n2>
void OutArray(T (&t)[n1][n2])
{
  for(unsigned int i = 0; i < n1; i++)
  {
    for(unsigned int j = 0; j < n2; j++)
    {
      std::cout << "Array[" << i << "][" << j << "]-> ";
      std::cout << t[i][j];
      std::cout << std::endl;
    }
  }
}
 
//-----------------------------------------------------------
template <class T, unsigned int n1, unsigned int n2>
void Average(T (&t)[n1][n2])
{
  T tmp = 0;
  for(unsigned int i = 1; i < n1; i++)
    for(unsigned int j = 0; j < n2; j++)
      if(i >= j) tmp += t[i][j];
}
 
 
int main(int argc, char * argv[])
{
  const int N = 5;
  float A[N][N];
  std::cout << "------------ input array ------------" << std::endl;
  InArray(A);
  std::cout << "------------ output array ------------" << std::endl;
  OutArray(A);
  std::cout << "------------ average value ------------" << std::endl;
  Average(A);  
  system("PAUSE");
  return 0;
}

Подробности ошибки
Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: conhost.exe
Версия приложения: 6.1.7601.17641
Отметка времени приложения: 4e03f6d7
Имя модуля с ошибкой: conhost.exe
Версия модуля с ошибкой: 6.1.7601.17641
Отметка времени модуля с ошибкой: 4e03f6d7
Код исключения: c0000005
Смещение исключения: 00001990
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789

Ознакомьтесь с заявлением о конфиденциальности в Интернете:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419

Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:
C:\Windows\system32\ru-RU\erofflps.txt

Если не сложно, укажите ошибкудумаю она очевидная, просто я в С++ не оч. шарю...
Заранее всем премного благодарен
0
Миниатюры
Работа с шаблонами   Работа с шаблонами  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.