простая проблема матрицы c подсчета числа, основанного на одном из содержания измерения. [язык C] - PullRequest
0 голосов
/ 27 января 2010

Теперь я получаю 5-ю матрицу, которую M [j] [i] [l] [ref] [0] ...

В этой матрице j принадлежит 0 ~ 4, а l = 0. Реф может варьироваться от 0 до 4.

Я просто хочу посчитать число в соответствии со значением ref.

Например,

  • если ref = 0, я сделаю count0 ++,
  • если ref = 1, count1 ++,
  • если ref = 2, count2 ++
  • ...

Итак, мне все равно, каково значение М, я просто хочу узнать частоту появления с другим значением ref .

Спасибо.

1 Ответ

2 голосов
/ 27 января 2010

Вы не совсем понимаете, как то, что вы хотите сделать, зависит от фактического содержимого M - я предполагаю, что это содержит какой-то переменный счетчик, который вы хотите добавить к своим индивидуальным счетам

В этом случае, как примерно так:

int j, i, ref;
int counts[5];
for(ref=0; ref<5; ref++)
    counts[ref]=0;
for(j=0; j<4; j++)
    for(i=0; i<5; i++)
        for(ref=0; ref<5; ref++)
            counts[ref]+=M[j][i][0][ref][0];

(я заменил ваши индивидуальные переменные "count" на массив, что значительно упрощает процесс.)

Редактировать : Я только что увидел, что вас не волнует, что такое содержание М. В таком случае, я не совсем понимаю, что ты пытаешься сделать. Поскольку измерения постоянны, число записей, которые существуют для определенного значения ref, всегда постоянны и всегда одинаковы для всех ref - в этом случае 5 * 5 = 25, так как у вас есть пять записи вдоль каждого из размеров j и i.

Если это не то, что вы хотите, уточните.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...