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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Len4ik_pik
1 / 1 / 0
Регистрация: 05.10.2013
Сообщений: 113
10.04.2014, 21:32     Возведение матрицы в степень #1
ребятка,помогите разобраться,ыскакует куча ошибок(надо вывести в степень матрицу
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
#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;
int mas[w];
printf ("vvedite razmer matrici");
scanf ("%d", &n);
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;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2014, 21:32     Возведение матрицы в степень
Посмотрите здесь:

Возведение в степень C++
C++ Возведение в степень. C++
C++ возведение в степень!
C++ Возведение в степень!
Бинарное возведение матрицы в степень C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
НеСказочник
58 / 46 / 7
Регистрация: 12.11.2012
Сообщений: 339
Записей в блоге: 2
10.04.2014, 22:11     Возведение матрицы в степень #2
А по точнее?
Len4ik_pik
1 / 1 / 0
Регистрация: 05.10.2013
Сообщений: 113
10.04.2014, 22:22  [ТС]     Возведение матрицы в степень #3
.
InitializeBuildStatus:
Создание "Debug\лаб3.unsuccessfulbuild", так как было задано "AlwaysCreate".
ClCompile:
лаб3
c18): error C2057: требуется константное выражение
c:: error C2466: невозможно выделить память для массива постоянного нулевого размера
c: error C2133: mas: неизвестный размер


СБОЙ построения.
НеСказочник
58 / 46 / 7
Регистрация: 12.11.2012
Сообщений: 339
Записей в блоге: 2
10.04.2014, 22:28     Возведение матрицы в степень #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
вместо
int mas[w];
пишем
C++
1
int*mas=new int[w];
перед
a=new int*[n];
следует поставить проверку на n>0


метод main должен закрываться фигурной скобкой после
return 0;
Len4ik_pik
1 / 1 / 0
Регистрация: 05.10.2013
Сообщений: 113
10.04.2014, 22:37  [ТС]     Возведение матрицы в степень #5
а вы можете написать код,я то подставила сделала,ещё больше ошибок(

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

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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2014, 22:55     Возведение матрицы в степень
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Len4ik_pik
1 / 1 / 0
Регистрация: 05.10.2013
Сообщений: 113
10.04.2014, 22:55  [ТС]     Возведение матрицы в степень #7
вот именно,я первокурсница,код настрочила по примеру а куда и что не пойму((((((
Yandex
Объявления
10.04.2014, 22:55     Возведение матрицы в степень
Ответ Создать тему
Опции темы

Текущее время: 16:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru