Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 10.01.2016
Сообщений: 30

Разреженная матрица

14.12.2017, 16:24. Показов 4846. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Есть квадратная матрица, после считывания представляется в разреженном строчном формате.
где AN-ненулевой элемент, JA-столбец текущего элемента, так же ненулевого, 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
{
            //заполняем массив 
            ifstream f("matrix.txt");
            for (int i = 0; f.good() && i < 4; i++)
                for (int j = 0; j < 4; j++)
                    f >> Matrix[i][j];
            //разряженно строчный формат
            for (int i = 0; i < n; i++)
            {
                q = 0;
                for (int j = 0; j < m; j++)
                {
                    if (Matrix[i][j] != 0)
                    {
                        AN[k] = Matrix[i][j];
                        JA[k] = j;
                        if (q == 0)
                        {
                            IA[t] = k;
                            for (int h = t; h < n; h++)
                                IA[h] = k;
                            t++;
                        }
                        q = 1;
                        k++;
                    }
                }
            }
            cout << endl
                << "AN = ";
            for (int i = 0; i < amt; i++)
                if (AN[i] > 0)
                    cout << AN[i] << " ";
            cout << endl
                << "JA = ";
            for (int i = 0; i < amt; i++)
                if (AN[i] > 0)
                    cout << JA[i] << " ";
            //IA[0] = 0;
            //IA[n] = k;
            cout << endl
                << "IA = ";
            for (int i = 0; i < n+1; i++)
                cout << IA[i] << " ";
            cout << endl;
            break;
        }
А так пытаюсь ее вывести
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
{
            cout << endl << "    МАТРИЦА ИМЕЕТ ВИД:" << endl << endl;
            for (int i = 0, j = 0, k = 0, t = 0, p = 0; i < amt; i++)
            {
                if (JA[t] == k)
                {
                    cout << AN[j] << " ";
                    j++;
                    t++;
 
                }
                else
                {
                    cout << "0" << " ";
 
                }
                k++;
                if (!((i + 1) % n))
                {
                    cout << endl;
                    k = 0;
                    // p++;
 
                }
 
            }
            break;
Но я не понял как в выводе прикрутить IA

Добавлено через 1 час 55 минут
Поможет кто-нибудь?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.12.2017, 16:24
Ответы с готовыми решениями:

Разреженная матрица
Добрый вечер. Из-за белезни, пролежал 2 недели дома, поэтому пропустил лекции по этой теме, а лабу надо сдавать. Так вот, задача: ...

Осуществить циклический сдвиг в матрице каждого столбца на n разрядов (разреженная матрица)
помогите пожалуйста написать прогу) Дана разреженная матрицы общего вида (CSS или CSR). Осуществить циклический сдвиг в матрице каждого...

Разработать класс "Разреженная матрица"
Разреженная матрица хранится в виде &lt;номер строки, номер столбца, значение&gt;. Если запрашивается значение, которое не хранится, возвращается...

1
0 / 0 / 0
Регистрация: 10.01.2016
Сообщений: 30
26.12.2017, 14:32  [ТС]
Что вообще ни кто
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.12.2017, 14:32
Помогаю со студенческими работами здесь

Симметричную матрицу сделать несимметричной
помогите пожалуйста. условие: дана квадратичная матрица z. составить программу, которая если матрица симметричная(транспонированная...

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей)
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include &lt;stdlib.h&gt; int main(int argc, char* argv) { srand(time(NULL)); int mas; ...

Дана матрица целых чисел, из n строк и n столбцов (n < = 100).Определить является ли матрица нулевой (состоит из одних нулей)
#include &lt;iostream.h&gt; #include &lt;iomanip.h&gt; #include&lt;conio.h&gt; void main() { int mas; int N; int max_element; int...

Разреженная матрица
Кто-нибудь работал с разреженными матрицами на delphi ? Подскажите, как задать такую матрицу...

Разреженная матрица
Можете написать алгоритм перехода с разреженной матрицы в обычную?


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru