calculate all possible path from a matrix

Posted on 2006-10-30
Medium Priority
Last Modified: 2010-04-15

 | a     |   b     |     c     |
a| 0.5  | 0.25   | 0.25    | =1
b| 0.375| 0.125 | 0.375  | =1
c| 0.125| 0.675 | 0.375  | =1

I need calculate the probability from a above matrix

for example, if I want to find a sequence of aab, it should calculate like:
a-->a-->b = 0.5 * 0.25 = 0.125

could someone give me some codes to find "all possible paths" for any given sequence? for example for sequence of 3, there is 3^3=27 possible paths (aaa,aab,aac, aba....ccc.etc). I want to find the probability of all 27 paths.

Question by:rmtogether
  • 2
  • 2
LVL 46

Accepted Solution

Kent Olsen earned 1500 total points
ID: 17837564

You simply need to next for() loops, one for each level.

for (i1 = 0; i1 < 3; ++i1)
  for (i2 = 0; i2 < 3; ++i2)
    for (i3 = 0; i3 < 3; ++i3)
      fprintf (stdout, "%c%c%c\n", 'a'+i1, 'a'+i2, 'a'+i3);

Good Luck,
LVL 46

Expert Comment

by:Kent Olsen
ID: 17837573

NEST for() loops.

That'll teach me to submit without reading......



Author Comment

ID: 17838378

this is something I did so far, I would like modify the my code to find the maximun value of 27 outputs. could someone teach me how to do it?

#include <stdio.h>

float matrix [3][3]={{0.5,0.25,0.25},

main (){
    int i,j,k;
    // printf("the matrix is ");

     for (i=0; i<3; i++){
         for (j=0; j<3; j++) {
          //printf("%.3f\t", matrix[i][j]);  
            for (k=0; k<3; k++){
              printf("Prob(%d%d%d)=%.5f\n",i,j,k,matrix[i][j]*matrix[j][k]);   ----------------> find the maximun value
            }//end third for
        }// end second for
    }// end first for


Author Comment

ID: 17838431
hi, Kdo

Since I got your help already.I will close this question. and ask another one. thanks a lot


Featured Post

Has Powershell sent you back into the Stone Age?

If managing Active Directory using Windows Powershell® is making you feel like you stepped back in time, you are not alone.  For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

An Outlet in Cocoa is a persistent reference to a GUI control; it connects a property (a variable) to a control.  For example, it is common to create an Outlet for the text field GUI control and change the text that appears in this field via that Ou…
This is a short and sweet, but (hopefully) to the point article. There seems to be some fundamental misunderstanding about the function prototype for the "main" function in C and C++, more specifically what type this function should return. I see so…
The goal of this video is to provide viewers with basic examples to understand recursion in the C programming language.
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use while-loops in the C programming language.

597 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question