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

Возведение матрицы в степень - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Pthread взывать поток без параметров http://www.cyberforum.ru/cpp-beginners/thread1144890.html
void RunClient(){ int iret; const char *message = "Thread Run_Client()"; if (!Running){ try{ _Running = true; iret = pthread_create(&_ThreadRunClient, NULL, Run_Client);
C++ Почему не вызывается метод setColor? Код использующий наследование, не могу вызвать метод setColor объект d; #include <iostream> #include <string> using namespace std; class myClass{ public: string name; http://www.cyberforum.ru/cpp-beginners/thread1144889.html
Работа с файлами. Задачи № 7, 8, 9 C++
Собственно сами задачи показаны на(скриншоте): Ссылка В колледже дали для индивидуальной работы. Задачи № 7,8,9. -_- Ужасно... Если кто может, помогите)... Написать программку). Задачи надо переписывать в текст сообщения!
C++ Структуры и функции
Задано масиви A(n<=300), B(m<=100). Найти суму элементов sin x (когда элементы А что входят в множество В и взятих только один раз). Использовать процедуру для построение пересечения и функцию для вычисления сумы. Вывести элементы пересичение и суму элементов.
C++ Ну могу понять суть задачи http://www.cyberforum.ru/cpp-beginners/thread1144852.html
Вот задача.Я не пойму что делать с х1=х2=х3-1 и хi Найти S =\sum_{i=1}^{100}\frac{{x}_{i}}{{2}^{i}} если {x}_{1}={x}_{2}={x}_{3}=1 ; {x}_{i}={x}_{i-1}+{x}_{i-3},i=4,5.... Какой-то бред получился... #include <iostream> using namespace std; int main() { float s = 0.0; int x,n;
C++ Выписать неповторяющиеся элементы матрицы в массив Как сформировать новый массив из двухмерного, при том что элементы не должны повторяться? подробнее

Показать сообщение отдельно
НеСказочник
58 / 46 / 7
Регистрация: 12.11.2012
Сообщений: 339
Записей в блоге: 2
10.04.2014, 22:39     Возведение матрицы в степень
Так чуть лучше, но кое-что нужно доделать (я пометил в комментарии, так как не знаю, что Вы там хотите сделать):

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
#include <stdio.h>
/*
viod Func (int **a, int n, int **b){
for (i=0;i<n;i++)
   for (j=0;j<n;j++)
    b[i][j]=a[i][j];}
*/
int sled (int **b, int n)
{
    int i, S=0;
    for (i=0;i<n;i++)
   S=S+b[i][i];
    return S;
}
 
void umn (int **a, int **b, int **d, int n)
{
    int Q=0, i, j, x;
    for (i=0;i<n;i++)
    {
        for (j=0;j<n;j++)
        {
            for (x=0;x<n;x++)
                Q=Q+a[i][x]*b[x][j];
        }
        d[i][j]=Q; Q=0;
    }
}
        
int main()
{
    int i, j, t, g, w, k, n, **a, **b, **d;
    int Q=0;
    
    // Тут откуда-то ещё надо взять значение w
    
    int mas = new int[w];
    do {
        printf ("vvedite razmer matrici");
        scanf ("%d", &n);
    } while (n<=0);
    
    a=new int*[n];
    
    for (i=0;i<n;i++)
        a[i]=new int[n];
    printf ("vvedite el-ti matrici");
    
    for (i=0;i<n;i++)
       for (j=0;j<n;j++)
            scanf ("%d", &a[i][j]);
    
    for (i=0;i<n;i++)
    {
        for (j=0;j<n;j++)
            printf ("%d  ", a[i][j]);
        printf ("\n");
    }
    b=new int*[n];
    for (i=0;i<n;i++)
        b[i]=new int[n];
    d=new int*[n];
    
    for (i=0;i<n;i++)
        d[i]=new int[n];
        
    printf ("sledi do kakoj stepeni vam poschitat'? kol-vo = ");
    scanf ("%d", &w);
    printf ("\n");
    b=a;
    
    for (k=0;k<w;k++)
    {
        // Func (a, m, n, b);
        mas[k]=sled (b, n);
        umn (a, b, d, n);
        b=d;
    }
    for (k=0;k<w;k++)
        printf ("%d ", mas[k]);
    printf ("\n");
    return 0;
}
 
Текущее время: 04:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru