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

матрица - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с экраном в текстовом режиме. http://www.cyberforum.ru/cpp-beginners/thread282557.html
Уважаемые форумчане. Помогите с кодом программы. void doubleframe() //формирование двойной рамки { int i; gotoxy(2,1); cout<<'╔'; //левый верхний угол рамки for(i=3;i<=x2-2;i++)cout<<'═'; //верхняя часть рамки cout<<'╗'; //правый верхний угол рамки
C++ Инициализация динамических матриц в с++ Необходимо реализовать класс матриц, вот мой набросок: // Класс.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" class matrix { public: matrix(int cap); http://www.cyberforum.ru/cpp-beginners/thread282555.html
Одномерный масссив. C++
Помогите пожалуйста решить задачку: Рассчитать сумму положительных элементов одномерного массива. Заранее спасибо огромное за оказанную помощь!!!
C++ Массив целых чисел «свернуть в кольцо» и повернуть вправо на К позиций
Задание таково - Массив целых чисел x ... x «свернуть в кольцо» и повернуть вправо на К позиций (К может быть больше n) напишите пожалуйста код программы если не сложно... (((
C++ Не создает диалоговое окно из-за элемента управления List control, находящийся в этом окне. Win32 API http://www.cyberforum.ru/cpp-beginners/thread282545.html
В диалоговом окне есть элемент управления List control. С ним диалоговое окно не вызывается, а без него вызывается. В чем может быть проблема?
C++ Если в слове есть две заглавные буквы подряд - заменить вторую на строчную 7. Создать приложение, которое считывает строку текста, состоящую только из слов, записанных русскими буквами, разделенных пробела¬ми (с про¬вер¬кой правильности ввода). Если в слове встречаются две идущие подряд боль¬шие буквы, заменить вторую большую букву ма¬лень¬кой. подробнее

Показать сообщение отдельно
desunax
Сообщений: n/a
24.04.2011, 17:09     матрица
дана матрица 3х4, нужно найти максимальное среднее арифметическое
среди средних арифметических каждой строки матрицы
есть код, реализующий эту работу, но в нем очень трудно разобраться
может кто предложит альтернативу этой махине?

Код
int i,s1,s2,n1,n2;
 
double sum(double a) { return a+1; }

template <typename T, size_t Rows>
struct avg : public std::unary_function<const T (&)[Rows], double>
{
        T operator()(const T (&arr)[Rows]) const
        {
                return std::accumulate(arr, arr + Rows, T()) / Rows;
			
        }
};
 
 

template <typename T, size_t Cols, size_t Rows>  
void go(T (&m)[Cols][Rows])
{
	    double maxel;
std::vector<T> v(Cols);
 maxel=*std::max_element(v.begin(),
                std::transform(m, m +Cols , v.begin(), avg<T, Rows>()));
    std::cout << "\n Максимальный среднее арифметическое=" <<maxel ;

        
      std::transform(
                &m[s1][0], &m[s1][0] + Rows*n1, &m[s1][0],//Cols
                std::bind2nd(std::minus<T>(), maxel)
                );
	 

	  if (i==2) {
	  std::transform(
                &m[s2][0], &m[s2][0] + Cols*n2, &m[s2][0],
                std::bind2nd(std::minus<T>(), maxel)
                );
	  }
   }


template <typename T, size_t Rows>
struct X : public std::unary_function<const T (&)[Rows], void>
{
        X(std::ostream& os) : os_(os) {}
        
        void operator()(const T (&arr)[Rows]) const
        {
                typedef std::ostream_iterator<T> O;
                std::copy(arr, arr+Rows, O(os_, "\t"));
                os_ << std::endl;
        }
 
        std::ostream& os_;
};
 

template <typename T, size_t Cols, size_t Rows>
std::ostream& operator<< (std::ostream& os, const T (&m)[Cols][Rows])
{
        std::for_each(m, m+Cols, X<T, Rows>(os));
        return os;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru