CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

麻烦哪位大哥教教我这个题~

楼主qdwp(free lance)2004-01-04 16:39:13 在 VB / 基础类 提问

编写程序,实现矩阵转置,即将一个n×m的矩阵的行和列互换。例如,a矩阵为  
          1       2       3  
  a=   4       5       6  
   
   
  转换和的矩阵为:  
   
   
  a=   1       4  
          2       5  
          3       6    
   
  这个题应该怎么编? 问题点数:0、回复次数:5Top

1 楼liuyanghe111(yang)回复于 2004-01-04 16:47:00 得分 0

dim   a()   as   long    
  dim   b()   as   long    
   
  dim   m   as   long   ,n   as   long    
   
  dim   i   as   long   ,j   as   long    
   
  m=?  
  n=?  
   
  redim   a(n,m)  
  redim   b(m,n)  
   
  '给a(n,m)赋初值  
   
  for   i=0   to   m  
        for   j=0   to   n  
                b(i,j)=a(j,i)  
        next   j  
  next   i  
  Top

2 楼Huaraco(孤星之旅)回复于 2004-01-04 16:53:24 得分 0

Dim   a(2,   3)   As   Long  
  Dim   b(3,   2)   As   Long  
  Dim   strs   As   String  
  Dim   k   As   Integer  
  Dim   strs1   As   String  
  For   i   =   0   To   1  
          For   j   =   0   To   2  
            a(i,   j)   =   k  
            k   =   k   +   1  
          strs   =   strs   &   a(i,   j)   &   "   "  
  Next  
  strs   =   strs   &   vbCrLf  
  Next  
  Print   strs  
   
  For   i   =   0   To   2  
          For   j   =   0   To   1  
                  b(i,   j)   =   a(j,   i)  
                  strs1   =   strs1   &   b(i,   j)   &   "   "  
          Next  
          strs1   =   strs1   &   vbCrLf  
  Next  
  Print  
  Print   strs1Top

3 楼Huaraco(孤星之旅)回复于 2004-01-04 16:55:06 得分 0

又忘了说了,基本思路就是这样,你再把数据换成你的就行了。Top

4 楼wangweinet777(石头)回复于 2004-01-04 22:22:23 得分 0

上面说的方法都对  
  补充一点  
  做矩阵转置的时候,可以先生成转置后的行元素,也可以先生成列元素。  
  先行:  
  Dim   a()   as   long  
  Dim   b()   as   long  
  Dim   m,n   as   long  
   
  Redim   a(m,n)  
  Redim   b(n,m)  
  '初始化m,n  
  '初始化数组a()  
  '转置  
  For   i=0   to   m  
      For   j=0   to   n  
          b(j,i)=a(i,j)  
      Next   j  
  Next   i  
  先列:  
  Dim   a()   as   long  
  Dim   b()   as   long  
  Dim   m,n   as   long  
   
  Redim   a(m,n)  
  Redim   b(n,m)  
  '初始化m,n  
  '初始化数组a()  
  '转置  
  For   i=0   to   m  
      For   j=0   to   n  
          b(i,j)=a(j,i)  
      Next   j  
  Next   iTop

5 楼wangweinet777(石头)回复于 2004-01-04 22:41:51 得分 0

Private   Sub   Form_Paint()  
  Dim   a()   As   Long  
  Dim   b()   As   Long  
  Dim   m,   n   As   Long  
  Dim   str   As   String  
  m   =   3  
  n   =   4  
  str   =   ""  
  ReDim   a(m,   n)  
  ReDim   b(n,   m)  
  '初始化m,n  
  '初始化数组a()  
  '转置  
  For   k   =   1   To   m  
      For   k1   =   1   To   n  
          a(k,   k1)   =   k   &   k1  
      Next  
  Next  
  Print   "数组A"  
  Print   m   &   "行"   &   n   &   "列"  
  For   k   =   1   To   m  
      For   k1   =   1   To   n  
          str   =   str   +   CStr(a(k,   k1))   &   "     "  
      Next  
      Print   str  
      str   =   ""  
  Next  
  Print   "================================"  
  Print   "数组B"  
  Print   n   &   "行"   &   m   &   "列"  
  For   i   =   1   To   m  
      For   j   =   1   To   n  
          b(j,   i)   =   a(i,   j)  
      Next   j  
  Next   i  
  str   =   ""  
  For   k   =   1   To   n  
      For   k1   =   1   To   m  
          str   =   str   +   CStr(b(k,   k1))   &   "     "  
      Next  
      Print   str  
      str   =   ""  
  NextTop

相关问题

  • 大哥们教教我
  • 大哥们教教小弟如何追MM啊。分不是问题啊。
  • 麻烦哪位大哥回答我的简单问题
  • mscomm!各位大哥们,教教小妹:))
  • 我们今年的考试题,麻烦各位大哥帮帮忙!!
  • 简单的JS问题,麻烦大哥们帮小弟一下,急!!!!!!!!!!!!在线等!!!
  • 超头痛的问题,麻烦哪位大哥帮忙解决啊
  • 麻烦各位大哥帮忙更正。
  • 众位高手,我是一小女子,想学习vb,现有一问题要问,麻烦各位大哥
  • 又是一个很菜的问题但是不得不麻烦大哥大姐了啊~

关键词

  • 矩阵
  • longdim
  • 初始化
  • 数组
  • jnext
  • redim
  • 转置
  • str
  • dim
  • next

得分解答快速导航

  • 帖主:qdwp

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo