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

Возведение матрицы в куб - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Code Blocks. Ошибка при компиляции "неправильный компилятор" http://www.cyberforum.ru/cpp-beginners/thread349822.html
Помогите разобраться. Качал пару версий code block - создаю новый проект, выбираю консоль, с++, пишу код (hello world:)), run and build - на выходе просто НИЧЕГО! Только сообщение, что-то вроде "неправильный компилятор". Пожалуйста, подскажите откуда скачать code block в полной сборке (с компилятором и прочим), а также как его настроить...
C++ Программа для инета на C++ Здравствуйте. Нужно написать программу, которая будет загружать исходный код сайта. Можно ли это сделать в рамках C++? http://www.cyberforum.ru/cpp-beginners/thread349809.html
C++ как сделать от и до
http://i024.***********/1109/b7/0177dc483f6c.jpg есть таблица тут данные,как могу сделать так чтобы когда я вожу значения если при проверки Iобм совподает то оно берят соответсвющию значению что нижэ её (d,мм),первую значеню я знаю как но те что дальшэ я не знаю,тоест не знаю как сделать так чтоб использовала диапазон от и до например от 25...60 и соответствено еи присваевыица значение (d,мм)...
Сумматор C++
Можете привести код оптимизированного сумматора?
C++ Требуется совершить обход квадратной матрицы по спирали http://www.cyberforum.ru/cpp-beginners/thread349780.html
помогите с этой задачкой )) Спираль (Время: 1 сек. Память: 16 Мб Сложность: 38%) Требуется совершить обход квадратной матрицы по спирали так, как показано на рисунке справа: заполнение происходит с единицы из левого верхнего угла и заканчивается в центре числом N2, где N – порядок матрицы. Входные данные
C++ Алгоритм построения функции привет, 1. не подскажите где найти алгоритм решения? 2. или готовое решение(исходники) на языках программирования? 3. и как это называется? =)) http://www.cyberforum.ru/attachment.php?attachmentid=95055&d=1315583067 подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
2803 / 1579 / 247
Регистрация: 03.05.2010
Сообщений: 3,670
10.09.2011, 16:42     Возведение матрицы в куб
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/////////////////////////////////////////////////////////////////////////////////////////
//  Возведение матрицы в куб
/////////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <cstdlib>
#include <ctime>
#include <functional>
#include <iostream>
#include <numeric>
#include <vector>
/////////////////////////////////////////////////////////////////////////////////////////
typedef double               T_num;
typedef std::vector<T_num>   T_row;
typedef std::vector<T_row>   T_matr;
/////////////////////////////////////////////////////////////////////////////////////////
class  T_matrix
{
    //-----------------------------------------------------------------------------------
    struct  T_mult_rows
    {
        T_row::value_type  operator() 
            (
                const T_row&  L,
                const T_row&  R
            )
        {
            return std::inner_product
                (
                    L.begin(),
                    L.end(),
                    R.begin(),
                    T_row::value_type()
                );
        }
    };
    //-----------------------------------------------------------------------------------
    T_matr  matr_;
    //-----------------------------------------------------------------------------------
public:    
    //-----------------------------------------------------------------------------------
    T_matrix(int  dim) : matr_( dim, T_row(dim) )
    {
        for(int  i = 0; i < dim; ++i)
        {
            for(int  j = 0; j < dim; ++j)
            {
                matr_[i][j] = rand() % ( (10 / dim + 1) * dim ) + 1;               
            }
        }
    }
    //-----------------------------------------------------------------------------------
    friend  std::ostream& operator<<(std::ostream& os, const T_matrix&  matrix)
    {
        for(T_matr::const_iterator  row_it = matrix.matr_.begin();
            row_it != matrix.matr_.end(); ++row_it)
        {
            std::copy
                (
                    row_it->begin  (),
                    row_it->end    (),
                    std::ostream_iterator<T_num>(os, "\t")
                );
 
            os << std::endl
               << std::endl
               << std::endl;
        }        
        return os;
    }
    //-----------------------------------------------------------------------------------
    T_matrix  transp() const
    {
        T_matrix  matrix_transp = *this;
        for(size_t  i = 0; i < matr_.size(); ++i)
        {
            for(size_t  j = 0; j < matr_.size(); ++j)
            {
                matrix_transp.matr_[i][j] = matr_[j][i];
            }
        }
        return  matrix_transp;
    }
    //-----------------------------------------------------------------------------------
    T_matrix  operator* (const T_matrix&  matrix)
    {
        T_mult_rows  mult_rows;
        T_matrix     matrix_transp  = matrix.transp();
        T_matrix     res_matrix     = *this;
        for(size_t  i = 0; i < matr_.size(); ++i)
        {
            for(size_t  j = 0; j < matr_.size(); ++j)
            {
                res_matrix.matr_[i][j] = mult_rows(matr_[i], matrix_transp.matr_[j]);
            }
        }
        
        return  res_matrix;
    }
    //-----------------------------------------------------------------------------------
};
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    srand(unsigned(time(0)));
 
    for(;;)
    {
        std::cout << "Введите размерность матрицы: ";
        int  dim = 0;
        std::cin >> dim;
        if(dim <= 0) break;
        T_matrix  m(dim);
        std::cout << "Исходная матрица:"
                  << std::endl
                  << m;
 
        std::cout<< "Матрица в квадрате:"
                  << std::endl
                  << m * m;
                  
        std::cout<< "Матрица в кубе:"
                  << std::endl
                  << m * m * m;
    }
}
 
Текущее время: 06:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru