| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 663 人关注过本帖
标题:大一关于矩阵的程序请求找高手修改程序
只看楼主 加入收藏
pppooo137
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-9-10
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
大一关于矩阵的程序请求找高手修改程序
这是我用C写的程序目的是求矩阵的加减法和乘除法
然后求逆矩阵但是下面有--------------------------------的地方一下所有的就运算不正确了算不下去结果不对
请求高手帮我修改一下这个程序最好必要的地方加上注释谢谢啦!!!!!
#include<stdio.h>
int a[3][3]
int b[3][3]
void main()
    {    void input(int a[3][3],int b[3][3]);
     void output(int a[3][3],int b[3][3]);
     void plus(int a[3][3],int b[3][3]);
     void minus(int a[3][3],int b[3][3]);
     void matiply(int a[3][3],int b[3][3] );
     void move(int a[3][3]);
     int a[3][3],b[3][3];
     int n;n=1;
      while(n<6)
      { n=n+1;n++;}
     printf("enter0:\n enter1:\n enter 2:\n enter3:\n enter4:\n enter5:\n") ;
     printf("please enter:\n") ;
     scanf("%d",&n);

      switch(n)
       { case 0:  input(a,b); break;
         case 1:  output(a,b);  break;
         case 2:  plus(a,b);   break;
         case 3:  minus(a,b);   break;
         case 4:  matiply(a,b);    break;
         case 5:  move(a);     break;

        }

     }
    void input(int a[3][3],int b[3][3]) /*输入矩阵a*/

     {   int i,j;
       printf("array a:\n");
      for(i=0;i<3;i++)
    {for(j=0;j<3;j++)
      { scanf("%d",&a[3][3]); }
       printf("\n") ;
     }
      printf("array b:\n") ;/*输入矩阵b*/

      for(i=0;i<3;i++)
    {for(j=0;j<3;j++)
        {scanf("%d",&b[i][j]); }
       printf("\n") ;
    }
   }
void --------------------------------output(int a[3][3],int b[3][3])

   {int i,j;
   printf("the original array:\n");

     for(i=0;i<3;i++)
     { for(j=0;j<3;j++)
       printf("%5d",a[i][j]);
       printf("%5d",b[3][3]);
      }
       printf("\n");

  }
void plus(int a[3][3],int b[3][3])/* 求矩阵a和矩阵b的加法运算*/
      { int i,j,c[3][3];
      printf("array c:\n");
      for(i=0;i<3;i++)
       {for(j=0;j<3;j++)
         c[i][j]=a[i][j]+b[i][j];
        }
      printf("%5d",c[i][j]);
      printf("\n");
    }
 void minus(int a[3][3],int  b[3][3])/*求矩阵a和矩阵b的减法运算*/
    { int  i,j,d[3][3];
        printf("array d:\n");
        for(i=0;i<3;i++)
          { for(j=0;j<3;j++)
         d[3][3]=a[3][3]-b[3][3];
           }
       printf("%5d",d[i][j]);
       printf("\n");
     }
 void matiply(int a[3][3],int b[3][3])/*求矩阵a和矩阵b的乘法运算*/
     {  int i,j,m,e[3][3];
        printf("array e:\n");
         for(i=0;i<3;i++)
          for(j=0;j<3;j++)
           {  for(m=0,e[i][j]=0;m<3;m++)
              e[i][j]=e[i][j]+a[i][m]*b[m][j];/*求矩阵e的个元素*/
            }
        printf("%5d",e[i][j]);
        printf("\n");

       }
  void move(int  a[3][3])/*求矩阵a的转置矩阵*/
     {  int i,j, t;
        printf("move array :\n") ;
         for(i=0;i<3;i++)
           for(j=0;j<3;j++)
        {t=a[i][j];
          a[i][j]=a[j][i];
          a[j][i]=t;
        }

      }

搜索更多相关主题的帖子: 请求 矩阵 
2010-09-10 16:29
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:6 
程序代码:
#include<stdio.h>
int a[3][3];//改动1加逗号
int b[3][3];
void main()
    {    void input(int a[3][3],int b[3][3]);
     void output(int a[3][3],int b[3][3]);
     void plus(int a[3][3],int b[3][3]);
     void minus(int a[3][3],int b[3][3]);
     void matiply(int a[3][3],int b[3][3] );
     void move(int a[3][3]);
     int a[3][3],b[3][3];
     int n;n=1;
      while(n<6)
      { n=n+1;n++;}
     printf("enter0:\n enter1:\n enter 2:\n enter3:\n enter4:\n enter5:\n") ;
     printf("please enter:\n") ;
     scanf("%d",&n);

      switch(n)
       { case 0:  input(a,b); break;
         case 1:  output(a,b);  break;
         case 2:  plus(a,b);   break;
         case 3:  minus(a,b);   break;
         case 4:  matiply(a,b);    break;
         case 5:  move(a);     break;

        }

     }
    void input(int a[3][3],int b[3][3]) /*输入矩阵a*/

     {   int i,j;
       printf("array a:\n");
      for(i=0;i<3;i++)
    {for(j=0;j<3;j++)
      { scanf("%d",&a[3][3]); }
       printf("\n") ;
     }
      printf("array b:\n") ;/*输入矩阵b*/

      for(i=0;i<3;i++)
    {for(j=0;j<3;j++)
        {scanf("%d",&b[i][j]); }
       printf("\n") ;
    }
   }
void output(int a[3][3],int b[3][3])//去掉那一长串----

   {int i,j;
   printf("the original array:\n");

     for(i=0;i<3;i++)
     { for(j=0;j<3;j++)
       printf("%5d",a[i][j]);
       printf("%5d",b[3][3]);
      }
       printf("\n");

  }
void plus(int a[3][3],int b[3][3])/* 求矩阵a和矩阵b的加法运算*/
      { int i,j,c[3][3];
      printf("array c:\n");
      for(i=0;i<3;i++)
       {for(j=0;j<3;j++)
         c[i][j]=a[i][j]+b[i][j];
        }
      printf("%5d",c[i][j]);
      printf("\n");
    }
void minus(int a[3][3],int  b[3][3])/*求矩阵a和矩阵b的减法运算*/
    { int  i,j,d[3][3];
        printf("array d:\n");
        for(i=0;i<3;i++)
          { for(j=0;j<3;j++)
         d[3][3]=a[3][3]-b[3][3];
           }
       printf("%5d",d[i][j]);
       printf("\n");
     }
void matiply(int a[3][3],int b[3][3])/*求矩阵a和矩阵b的乘法运算*/
     {  int i,j,m,e[3][3];
        printf("array e:\n");
         for(i=0;i<3;i++)
          for(j=0;j<3;j++)
           {  for(m=0,e[i][j]=0;m<3;m++)
              e[i][j]=e[i][j]+a[i][m]*b[m][j];/*求矩阵e的个元素*/
            }
        printf("%5d",e[i][j]);
        printf("\n");

       }
  void move(int  a[3][3])/*求矩阵a的转置矩阵*/
     {  int i,j, t;
        printf("move array :\n") ;
         for(i=0;i<3;i++)
           for(j=0;j<3;j++)
        {t=a[i][j];
          a[i][j]=a[j][i];
          a[j][i]=t;
        }

      }
错误帮你改好了!你自己运行一下行不行
2010-09-11 07:00
encounter
Rank: 5Rank: 5
来 自:扬州
等 级:职业侠客
威 望:2
帖 子:150
专家分:359
注 册:2010-7-24
收藏
得分:6 
楼主好无聊。。。。。。。。。
还是很无聊。。。。。。。。。
真的很无聊。。。。。。。。。

ping   nbtstat   netstat   tracert    nat   at    ftp   telnet..................
2010-09-11 11:36
fishviv
Rank: 1
等 级:新手上路
帖 子:45
专家分:9
注 册:2010-9-10
收藏
得分:6 
欢迎加入116451337 C与C++的乐园
2010-09-11 11:41
快速回复:大一关于矩阵的程序请求找高手修改程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017798 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved