close

#include
#include
#include

using namespace std;
struct tmp{
       int row;
       int cols;
       int notzero;
       };    
int main(int argc, char *argv[])
{
    
    struct tmp a[100],b[100];
    int d[2][4];
    int a1,a2,a3,a4,valuetmp,sumtmp=0;
    int r=0,u=0;    
    FILE *fpin=fopen("inputa.txt","r");
    FILE *fpout=fopen("output1.txt","w");
    fscanf(fpin,"%d %d",&a1,&a2);
    cout        for(int j=0;j            for(int i=0;i           {         
          fscanf(fpin,"%d",&valuetmp);
          a[j*a2+i].row=j;
          a[j*a2+i].cols=i;
          a[j*a2+i].notzero=valuetmp;
          if(a[j*a2+i].notzero!=0){     
          r++ ;                                            
          printf("%d %d %d",j,i,valuetmp);
          cout          }
          }                
          }
           printf("%d %d %d ",a1,a2,r);   //表示A有a1個row,a2個column,以及r個非0的值
           cout             fclose(fpin);
      FILE *fpin1=fopen("inputb.txt","r");    
      fscanf(fpin1,"%d %d",&a3,&a4);
      cout         for(int j=0;j            for(int i=0;i       {
          fscanf(fpin,"%d",&valuetmp);
          b[j*a4+i].row=j;
          b[j*a4+i].cols=i;
          b[j*a4+i].notzero=valuetmp;
          if(b[j*a4+i].notzero!=0){
               u++;
               printf("%d %d %d",j,i,valuetmp);
               cout       }             
          }
          }
          printf("%d %d %d ",a3,a4,u);    //表示B有a3個row,a4個column,以及u個非0的值  
          cout          printf("A*B矩陣相乘\n");
        for(int i=0;i         {    
         for(int p=0;p           {
            for(int j=0;j             {     
              sumtmp=sumtmp+a[i*a2+j].notzero*b[j*a4+p].notzero;
              }
              d[i][p]=sumtmp;
             printf("%2d\t",sumtmp);
             sumtmp=0;            
             }
              cout              }
               fclose(fpin1);
               for(int i=0;i             {
               for(int j=0;j              {       
               fprintf(fpout,"%2d\t",d[i][j]);
               }
                   fprintf(fpout,"\n");
             }                        
    system("PAUSE");
    return EXIT_SUCCESS;
}
下面是執行的狀況

感謝阿德同學的指點,第一次寫讀文字檔進來的程式碼,沒有頭緒後來看了一下書,好久沒碰c語言了
再來看看能不能改用c++寫出來,看來我程式又要再加強才行~

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 ff2100 的頭像
    ff2100

    阿獠小站

    ff2100 發表在 痞客邦 留言(1) 人氣()