calculate all possible path from a matrix

Posted on 2006-10-30
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 45

Accepted Solution

Kdo earned 500 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 45

Expert Comment

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

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Suggested Solutions

This tutorial is posted by Aaron Wojnowski, administrator at  To view more iPhone tutorials, visit This is a very simple tutorial on finding the user's current location easily. In this tutorial, you will learn ho…
Windows programmers of the C/C++ variety, how many of you realise that since Window 9x Microsoft has been lying to you about what constitutes Unicode ( They will have you believe that Unicode requires you to use…
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use for-loops in the C programming language.
The goal of this video is to provide viewers with basic examples to understand and use switch statements in the C programming language.

760 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

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now