Link to home
Start Free TrialLog in
Avatar of tulchirx
tulchirx

asked on

matrix multiplication

I don't know why my program doesn't work or how to fix it so it would work.

my program must calculate the number of connections of a given length which connect two nodes of a diagraph.  My program read the original adjacency matrix from a file, which is this:
4
0 1 1 0
1 1 1 0
1 0 0 1
0 0 0 0
The program prompts the user for the desired connection length and the names of two nodes.
#include <iostream.h>
#include <iomanip.h>
#include <fstream.h>
#include <stdlib.h>
int xxx;

void count(int table1[][5], int table2[][5], int table3[][5], int cnt){
      int temp=0;
      int i;
      int j;
      int k;
      
      cout<<"in count cnt="<<cnt<<endl;
      for (i=0; i<=3; i=i+1){

            for(j=0; j<=3; j=j+1){
                  for (k=0; k<=cnt; k=k+1)
                        table3[i][j]=table3[i][j]+table1[i][k]*table2[k][j];
      cout<<table3[i][j]<<endl;;
            }
      }
      
}



void multiple(int table[][5], int cnt, int size){
      int i;
      
      int j;
      int k;
      int tempk1[5][5];
      int tempk2[5][5];
      cout<<"in multi cnt="<<cnt<<endl;
      cin>>xxx;

      for (i=0; i<cnt; i=i+1){
            for(j=0; j<cnt; j+j+1){
            tempk1[i][j]=table[i][j];
            cout<<"tempk1["<<i<<"]["<<j<<"]="<<tempk2[i][j]<<endl;
            cout<<"hello";
            cin>>xxx;

            }
      }
      

      for (i=1; i<size; i=i+1){
            
            for (j=1; j<size; j=j+1){
                  count(table, tempk1, tempk2, cnt);

                  for (i=1; i<cnt; i=i+1){
                        cout<<"i'm in the first loop before tempk1";
                        for (j=1; j<cnt; j=j+1){
                        tempk2[i][j]=tempk1[i][j];
                        cin>>xxx;

            }
      
      }
            }
}
      }
void main()
{
      int i, j;
      int node1;
      int node2;
      int length;
      int cnt;
      int size;
      int table[5][5];
      int table3[5][5];
      fstream outFile;


      outFile.open("c:/mydocuments/test1.txt",ios::in);
            cout<<"enter length number";
            cin>>length;
            cout<<"enter node from";
            cin>>node1;
            cout<<"enter node to";
            cin>>node2;
            cnt=length;
            outFile>>size;
            for (i=0; i<size; i=i+1){
                  for (j=0; j<size; j=j+1){
            outFile>>table[i][j];
            for (i=0; i<size; i=i+1){
                  for (j=0; j<size; j=j+1){
                        cout<<"table="<<table[i][j];
            
                  
      
            multiple(table, cnt, size);
      
      cout<<table[node1][node2];
                  }
      }
                  }

      }
      outFile.close();
}
      
Avatar of nietod
nietod

What problems are you having?
ASKER CERTIFIED SOLUTION
Avatar of andromeda120198
andromeda120198

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
>> modify your program by referring to these local variables
ROTFLMAO!!!
Avatar of tulchirx

ASKER

thanks anyway, but my program works now alright