Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2016, 11:49   #1
leftdead76
 
Регистрация: 23.10.2016
Сообщений: 4
По умолчанию Поиск элемента в матрице разреженного строчного формата

Есть квадратная матрица, после считывания представляется в разреженном строчном формате.
где AN-ненулевой элемент, JA-столбец текущего элемента, так же ненулевого, IA - индекс неулевого элемента, с которого начинается строка.
Я понимаю, как должен выглядить массив-матрица в таком виде, но задача в том, чтобы по вводу индексов строки и столбца, мне выводился элемент, соответствующий эим индексам. Все строится как раза на AN,JA,IA. Помогите, пожалуйста с реализацией этой задачи. Я не пойму как получить элемент AN[i] вводя IA и JA элементы
объявление и определение переменных и массивов:
Код:

const unsigned short n = 50;
const unsigned short m = 50;
const unsigned short amt = n*m;
 
    cout << endl << endl;
    int AN[amt] = { 0 };
    int JA[amt] = { 0 };
    int IA[n] = { 0 };
    int AI[n] = { 0 };
    int k = 0;
    int x = 0;
    int y = 0;
    int G = 0;
Заполнение массивов матрицей, считанной из файла


Код:

int col = 0;
//создане элементов матрицы AN, JA, IA 
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < m; j++)
            {
                if (Matrix[i][j] != 0)
                {
                    AN[k] = Matrix[i][j];
                    JA[k] = j;
                    IA[k] = i;
                    AI[k] = i;
                    k++;
                    col += 1;
                }
                IA[0] = 0;
                IA[i + 1] = col;
            }
        }
в коде далее никаких манипуляций с этими массивами не происходит, лишь вывод

вот если надо

Код:

cout << endl
<< "AN элемент = ";// строчный формат матрицы
for (int i = 0; i < amt; i++)
if (AN[i] > 0)
{
cout << AN[i] << " ";
G += AN[i] = 1;
}
 
        cout << endl
            << "JA столбец = ";//в какой строке находится текущий элемент
        for (int i = 0; i < amt; i++)
            if (AN[i] > 0)
                cout << JA[i] + 1 << " ";
 
        cout << endl
            << "IA элемент = "; //элемент, с которого начинется каждая строка и Колличество ненулевых элементов (G) + 1
 
        for (int i = 0; i < n; i++)
        {
 
 
            cout << IA[i] + 1 << " ";
        }
        cout << G + 1 << endl << endl;
leftdead76 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск элемента в матрице xpams Microsoft Office Excel 2 11.04.2012 20:25
Поиск мин элемента в матрице и его количество C++ Slavytich Помощь студентам 1 03.11.2010 13:51
Поиск минимального элемента в матрице F1eCSo Помощь студентам 0 04.02.2010 17:20
В матрице определить номер и значение элемента. Tonik_A Паскаль, Turbo Pascal, PascalABC.NET 2 18.10.2009 13:53