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

Массив: Найти произведение двух верхнеугольных матриц, которые храняться в упакованном виде в одномерных массивах. - C++

Восстановить пароль Регистрация
 
bull3tproof
0 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 26
08.06.2013, 18:53     Массив: Найти произведение двух верхнеугольных матриц, которые храняться в упакованном виде в одномерных массивах. #1
Найти произведение двух верхнеугольных матриц,которые храняться в упакованном виде в одномерных масивах.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.06.2013, 18:53     Массив: Найти произведение двух верхнеугольных матриц, которые храняться в упакованном виде в одномерных массивах.
Посмотрите здесь:

C++ Индексы элементов которые повторяются в двух массивах
C++ Дано два одномерных массива целых чисел А и В. Вычислить одномерный массив С, который содержит элементы, присутствующие в массивах А и В в одном экзем
C++ найдите среднее арифметическое всех отрицательных элементов в четных элементах двух одномерных массивах
C++ произведение двух матриц через разыменование
C++ Найти произведение двух матриц
Произведение двух матриц C++
C++ Сложение двух одномерных матриц поэлементно (проверьте код)
Найти числа, которые представимы в виде суммы квадратов двух натуральных чисел C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
 Аватар для Catstail
21451 / 10236 / 1667
Регистрация: 12.02.2012
Сообщений: 17,108
08.06.2013, 22:55     Массив: Найти произведение двух верхнеугольных матриц, которые храняться в упакованном виде в одномерных массивах. #2
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
#include <iostream.h>
 
// Развертка нижнего треугольника матрицы 
// в одномерный массив
 
int indx(int i, int j)
{
    if (i >= j)
        return j+i*(i+1)/2;
    else
        return i+j*(j+1)/2;
}
 
int main(int argc, char* argv[])
{
    int N,nn,i,j,k,s,sA,sB;
    int *A,*B,*C;
 
    cout << "N=";
    cin >> N;
 
    nn=N*(N+1)/2;
 
    // Создаем матрицы A, B, С
 
    A=new int[nn];
    B=new int[nn];
    C=new int[nn];
 
    // Вводим A и B:
 
    cout << "Entering A:" << endl;
 
    for (i=0; i<N; i++)
        for (j=i; j<N; j++)
        {
            cout << "A[" << i <<"," << j << "]=";
            cin >> A[indx(i,j)];
        }
 
    cout << "Entering B:" << endl;
 
    for (i=0; i<N; i++)
        for (j=i; j<N; j++)
        {
            cout << "B[" << i <<"," << j << "]=";
            cin >> B[indx(i,j)];
        }
 
    // Считаем произведение
 
    for (i=0; i<N; i++)
        for (j=i; j<N; j++)
        {
            s=0;
            for (k=0; k<N; k++)
            {
                if (i <= k)
                    sA=A[indx(i,k)];
                else
                    sA=0;
                if (k <= j)
                    sB=B[indx(k,j)];
                else
                    sB=0;
                s+=sA*sB;
            }
            C[indx(j,i)]=s;
        }
 
    // Вывод
 
    cout << "C:" << endl;
 
    for (i=0; i<N; i++)
        for (j=i; j<N; j++)
            cout << "C[" << i <<"," << j << "]=" << C[indx(j,i)] << endl;
 
    cout << endl;   
 
    return 0;
}
bull3tproof
0 / 0 / 0
Регистрация: 28.03.2013
Сообщений: 26
09.06.2013, 18:52  [ТС]     Массив: Найти произведение двух верхнеугольных матриц, которые храняться в упакованном виде в одномерных массивах. #3
спасибо!

Добавлено через 5 часов 5 минут
Только нужно упаковывать верхнеугольные матрицы в одномерный масив

Добавлено через 2 часа 1 минуту
Только нужно упаковывать верхнеугольные матрицы в одномерный масив
Yandex
Объявления
09.06.2013, 18:52     Массив: Найти произведение двух верхнеугольных матриц, которые храняться в упакованном виде в одномерных массивах.
Ответ Создать тему
Опции темы

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