Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

Есть квадратная матрица, после считывания представляется в разреженном строчном формате.
где 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 вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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




04:18.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru