[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 258
  • Last Modified:

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();
}
      
0
tulchirx
Asked:
tulchirx
1 Solution
 
nietodCommented:
What problems are you having?
0
 
andromeda120198Commented:
You have k and  table3 as unrefernced local variable.modify your program by referring to these local variables.Let me know what else problems you have ?
0
 
alexoCommented:
>> modify your program by referring to these local variables
ROTFLMAO!!!
0
 
tulchirxAuthor Commented:
thanks anyway, but my program works now alright
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now