Solved

matrix multiplication

Posted on 1998-12-02
4
245 Views
Last Modified: 2010-04-02
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
Comment
Question by:tulchirx
4 Comments
 
LVL 22

Expert Comment

by:nietod
ID: 1179149
What problems are you having?
0
 

Accepted Solution

by:
andromeda120198 earned 120 total points
ID: 1179150
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
 
LVL 11

Expert Comment

by:alexo
ID: 1179151
>> modify your program by referring to these local variables
ROTFLMAO!!!
0
 

Author Comment

by:tulchirx
ID: 1179152
thanks anyway, but my program works now alright
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Introduction This article is the first in a series of articles about the C/C++ Visual Studio Express debugger.  It provides a quick start guide in using the debugger. Part 2 focuses on additional topics in breakpoints.  Lastly, Part 3 focuses on th…
Container Orchestration platforms empower organizations to scale their apps at an exceptional rate. This is the reason numerous innovation-driven companies are moving apps to an appropriated datacenter wide platform that empowers them to scale at a …
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

747 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

15 Experts available now in Live!

Get 1:1 Help Now