Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 2
1

Сжать матрицу методом Дженинкса

15.12.2013, 01:28. Показов 514. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Помогите решить задачу, не могу реализовать алгоритм.
Есть у нас матрица, квадратная, симметричная, относительно диагонали.
Сжимаем её методом Дженинкса, получая массив значений всех элементов AN и индексы элементов главной диагонали в массиве значений IA
Нужно найти сумму строк = они же столбцы.
Вот я сжимаю по этому методу
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
        public void Crypt(int[,] matrix, int size, int[] AN, int[] IA)
        {
            int i = 0, j = 0, m = 0, n = 0;
            bool block = false;
            for (i = 0; i < size; i++)
            {
                block = false;
                for (j = 0; j <= i; j++)
                    if (matrix[i, j] != 0 && !block)
                    {
                        block = true;
                        AN[m] = matrix[i, j];
                        if (i == j)
                        {
                            IA[n] = m;
                            n++;
                        }
                        m++;
                    }
                    else if (block)
                    {
                        AN[m] = matrix[i, j];
                        if (i == j)
                        {
                            IA[n] = m;
                            n++;
                        }
                        m++;
                    }
            }
Теперь пытаюсь найти сумму, но у меня с циклами беда, подскажите что не так,
            int[] summatrix = new int[7];
            int[] td = new int[14];
            int sum = 0;
            int sum1 = 0;
            int z = 0;
            int d =0;
            int m;
            int proverka;
            bool flag = false;
            for (int x = 0; x < 6; x++)
            {
                sum = 0;
                sum1 = 0;
                proverka = 0;
                sum = sum + AN[IA[d]];
                z=0;
                for (int g = 0; g < 6; g++)
                {
                    if (g != 6)
                    {
                        if (IA[g] != IA[g + 1])
                        {
                            m = 0;
                            for (int i = IA[g]; i != IA[g + 1]; i++)
                            {
                                proverka++;
                                if (flag == false)
                                    flag = true;
                                else
                                {
 
                                    td[m] = AN[i];
                                    sum = sum + AN[i];
                                    m++;
                                }
                            }
                            if (m >= proverka)
                                sum = sum + td[proverka];
                            for (int r = 0; r < m; r++)
                            {
                                sum1 = sum1 + td[r];
                                td[r] = 0;
                            }
                        }
                    }
                    else
                    {
 
                    }
                }
                summatrix[x] = sum;
                d++;
            }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.12.2013, 01:28
Ответы с готовыми решениями:

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

Сжать XML файл методом Хаффмана или арифметическим методом или методом RLE
Всем привет. На носу сессия, а с последней лабой по ооа и п дела совсем плохи. помогите пожалуйста,...

Сжать матрицу вверх, исключив все нечетные строчки
сжать матрицу В(15,15) вверх, исключив все нечетные строчки

Сжать матрицу, выбросив из нее каждый второй элемент
дан целочисленный массив из n элементов. Сжать этот массив выбросив из него каждый второй элемент...

0
15.12.2013, 01:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2013, 01:28
Помогаю со студенческими работами здесь

Сжать заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями
Нужно решить задачу с двумерным массивом, кто может помочь написать ее!! Дано целочисленную...

Упорядочить матрицу по возрастанию(методом выбора) и убыванию(методом пузырька).
Дана квадратная матрица А(NxN). Упорядочить матрицу по возрастанию(методом выбора) и...

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

Решить матрицу методом Гаусса
Здравствуйте=) помогите пожалуйста решить данную матрицу -0,14 x1 -0,26 x2 -0,20 x3 +0,39 x4...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru