singlepost

Как хранить матрицу поблочно в одномерном массиве? << На главную или назад  

а подскажите пожалуйста, я храню матрицу в виде одномерного массива. матрица квадратная….для представления этого массива в виде матрицы я использую индексацию вида элемент матрицы aij имеет в массиве индекс i*size+j…теперь я разбиваю матрицу на равные(квадратные блоки)…и вот проблема, как мне обращаться например к 2у элементу третьего блока в первой строке исходной матрицы?

9 ответов в теме “Как хранить матрицу поблочно в одномерном массиве?”

  1. 9
    Александр Лищенер ответил:

    хитрО

  2. 8
    Белоусов Сергей ответил:

    не…у нас курс параллельного программирования вроди только на третьем курсе будет…просто в предметной области разбираюсь…)

  3. 7
    Леонид Розенблюм ответил:

    видимо лаба в универе ;)

  4. 6
    Белоусов Сергей ответил:

    ну да…парллелить обработку матрицы по сьтрокам гораздо изящней, но по условию надо так реализовать:)

  5. 5
    Евгений Гаврин ответил:

    Приходилось читать код человека, который в подобном стиле хранил матрицы. Впечатления остались негативными.

  6. 4
    Белоусов Сергей ответил:

    спасибо!)

  7. 3
    Nickolay White ответил:

    большая матрица m на m, разбита на маленькие n на n
    у тебя даны i, j
    Это будет
    (i*m + j) / (n*n) блок
    блоки нумеруются например так
    1 2 3
    4 5 6
    7 8 9

    в блоке это
    (i *m + j) % (n*n) элемент

  8. 2
    Nickolay White ответил:

    когда ты хранишь матрицу как двумерный массив – за тебя подсчёт индекса i*size + j делает компилятор. В остальном хранится так же
    Кстати, тебе лучше использовать std::slice – это по сути одномерный массив, на основе которого можно представлять многомерные матрицы.
    Специально для вычислений сделано.
    Как я понял, ты разбиваешь матрицу для параллельных вычислений.
    Не понял в чём проблема? просто кажлому блоку соответствуют определённые индексы. И всё

  9. 1
    Белоусов Сергей ответил:

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

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.