Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/2: Рейтинг темы: голосов - 2, средняя оценка - 4.50
level9626
9 / 9 / 2
Регистрация: 23.09.2012
Сообщений: 150
1

Ошибка при перемножении матриц

21.09.2013, 23:22. Просмотров 429. Ответов 4
Метки нет (Все метки)

Здравствуйте.
При перемножении двух матриц, появляется лишний столбец. Никак не могу найти ошибку.
Вот фрагмент кода:
Есть три массива: A[m][n], B[n][k], C[m][k]
C
1
2
3
4
5
6
for(i=0;i<m;i++){
        for(j=0;j<k;j++){
            for(s=0;s<n;s++){
                С[i][j]=С[i][j]+(A[i][s]*B[s][j]);
            }
        }
Вот допустим ввожу: A[3][3], B[3][2]. Должна появиться матрица C[3][2].
0
Миниатюры
Ошибка при перемножении матриц  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2013, 23:22
Ответы с готовыми решениями:

Ошибка вывода при перемножении матриц
Здравствуйте! Программирую на C++ совсем недавно, столкнулся с проблемой, при выводе матрицы....

Ошибка при перемножении квадратных матриц
Написал такую прогу. По выбору складывает, вычитает, или умножает матрицы. При перемножении (конец...

При перемножении матриц ошибка с памятью
Написал класс матрица с алгоритмом умножения, но при выходе из проги выбивает ошибку. Не пойму как...

Ошибка в перемножении матриц
Имеется программка для перемножения матриц. void matrix_iter(double **mas_e, double **mas1,...

Мусор при перемножении матриц
3дравствуйте, ошибка возникает,когда перемножаю матрицы a3;b3 и a2;b2; Они перемножаются, но там...

4
IrineK
Заблокирован
22.09.2013, 05:00 2
Нужно увидеть весь код, чтобы понять, что там происходит.
0
level9626
9 / 9 / 2
Регистрация: 23.09.2012
Сообщений: 150
22.09.2013, 13:31  [ТС] 3
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
printf("ÏðîèçâåäåГ*ГЁГҐ äâîõ Г¬Г*òðèö.\n");
    int i,j,m,n,k,s;
    do{
        printf("Êîëè÷åñòâî ñòðîê ïåðâîé Г¬Г*òðèöû : ");
        scanf("%i",&m);
        if(m<0){
            printf("ГЋГёГЁГЎГЄГ*! Êîëè÷åñòâî ýëåìåГ*òîâ äîëæГ*Г® áûòü áîëüøå èëè Г°Г*ГўГ*Г® 0 !\n");
        }
    } while (m<0);
    do{
        printf("Êîëè÷åñòâî ñòîëáöîâ ïåðâîé ГЁ ñòðîê âòîðîé Г¬Г*òðèöû: ");
        scanf("%i",&n);
        if(n<0){
            printf("ГЋГёГЁГЎГЄГ*! Êîëè÷åñòâî ýëåìåГ*òîâ äîëæГ*Г® áûòü áîëüøå èëè Г°Г*ГўГ*Г® 0 !\n");
        }
    } while (n<0);
    do{
        printf("Êîëè÷åñòâî ñòîëáöîâ âòîðîé Г¬Г*òðèöû: ");
        scanf("%i",&k);
        if(i<0){
            printf("ГЋГёГЁГЎГЄГ*! Êîëè÷åñòâî ýëåìåГ*òîâ äîëæГ*Г® áûòü áîëüøå èëè Г°Г*ГўГ*Г® 0 !\n");
        }
    } while (i<0);
    int A[m][n],B[n][k],dobutok[m][k];
    srand( time( NULL ) );
    for(i=0;i<m;i++){
        for(j=0;j<n;j++){
            A[i][j]= rand()%10;
        }
    }
    for(i=0;i<n;i++){
        for(j=0;j<k;j++){
            B[i][j]= rand()%10;
        }
    }
    for (i=0;i<m;i++){
        for (j=0;j<k;j++){
            dobutok[i][j]=0;
        }
    }
    printf("ГЌГ*÷ëüГ*ûé ГўГЁГ¤ îáåèõ Г¬Г*òðèö:\n");
    for(i=0; i<m; i++) 
    {
        for(j=0; j<n; j++)
        {
            printf("%d\t", A[i][j]);
        }
        printf("\n");   
    }
    printf("\n\t*\n\n");
    for(i=0; i<n; i++) 
    {
        for(j=0; j<k; j++)
        {
            printf("%d\t", B[i][j]);
        }
        printf("\n");   
    }
    printf("ГЋГІГўГҐГІ:\n");
    for(i=0;i<m;i++){
        for(j=0;j<k;j++){
            for(s=0;s<n-1;s++){
                dobutok[i][j]=dobutok[i][j]+(A[i][s]*B[s][j]);//??????? ???? ???????
            }
        }
    }
    for (i=0; i<m; i++){
        for (j=0; j<n; j++){
            printf("%d\t", dobutok[i][j]);
        }
        printf("\n");
    }
0
Catstail
Модератор
24492 / 12420 / 2262
Регистрация: 12.02.2012
Сообщений: 20,169
22.09.2013, 13:35 4
К первому коду только одна претензия: С[i][j] необходимо обнулить
0
level9626
9 / 9 / 2
Регистрация: 23.09.2012
Сообщений: 150
22.09.2013, 16:28  [ТС] 5
это не помогает
0
22.09.2013, 16:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.09.2013, 16:28

Свойство ассоциативности при перемножении матриц
Народ. Не могу понять одну вещь. Я сейчас с координатными преобразованиями завис, причём с...

Программа, которая оптимальным образом расставляет скобки при перемножении матриц
Пожалуйста помогите написать программу, которая оптимальным образом расставляет скобки при...

Ошибка при перемножении численной матрицы на символьную
Здравствуйте. У меня возникает ошибка при перемножении матриц 3х3 на 3х1 &quot;Возвращаемый символьный...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru