矩阵转置,一维数组与二维数组的相互转换

#include <iostream>
using namespace std;
int main()
{
    int m, n;
    while (cin >> m >> n)//多组输入,确定二维数组的行数和列数
    {
        int a = m * n;
        int* p = new int[a];//申请动态内存
        for (int i = 0; i < a; i++)
        {
            cin >> p[i];//只输入在一个数组中将二维转变成一维数组更方便使用动态内存
        }
        int x, y;
        y = 0;
        for (int i = 0; i < n; i++)
        {
            x = 0;
            for (int j = 0; j < m; j++)
            {
                cout << p[n * x + y] << " ";//最关键的一步,用数学建模推导输出的公式
                x++;
            }
            y++;
            cout << endl;
        }
        delete[]p;//释放内存
    }
    return 0;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
本书主要讲解C语言编程涉及的各类常见实例,共分8篇,以“基础篇→数据结构篇→数值计算与趣味数学篇→图形篇→系统篇→常见试题解答篇→游戏篇→综合实例篇”具体展开,共汇集220个实例,基本涵盖了目前C语言编程的各个方面。. 书中以具体的实例为线索,特别注重对例题的分析、对知识点的归纳、对求解方法的引申,同时程序代码中融会了C语言的各种编程技巧,条理清晰,以方便读者举一反三,开发出符合特定要求的程序。本书的配套光盘中涵盖了书中所有实例的源代码,以方便读者学习和查阅。.. 本书适合具有初步C语言基础的读者阅读,可作为高校相关专业的辅导教材,也可作为C语言使用者进行程序设计的实例参考手册。... 第一部分 基础篇 实例1 第一个C程序  实例2 运行多个源文件  实例3 求整数之积  实例4 比较实数大小  实例5 字符的输出  实例6 显示变量所占字节数  实例7 自增/自减运算  实例8 数列求和  实例9 乘法口诀表  实例10 猜数字游戏  实例11 模拟ATM(自动柜员机)界面  实例12 用一维数组统计学生成绩  实例13 用二维数组实现矩阵转置  实例14 求解二维数组的最大/最小元素  实例15 利用数组求前n个质数  实例16 编制万年历  实例17 对数组元素排序  实例18 任意进制数的转换  实例19 判断回文数  . 实例20 求数组前n个元素之和  实例21 求解钢材切割的最佳订单  实例22 通过指针比较整数大小  实例23 指向数组的指针  实例24 寻找指定元素的指针  实例25 寻找相同元素的指针  实例26 阿拉伯数字转换为罗马数字  实例27 字符替换  实例28 从键盘读入实数  实例29 字符行排版  实例30 字符排列  实例31 判断字符串是否回文  实例32 通讯录的输入输出  实例33 扑克牌的结构表示  实例34 用“结构”统计学生成绩  实例35 报数游戏  实例36 模拟社会关系  实例37 统计文件的字符数  实例38 同时显示两个文件的内容   实例39 简单的文本编辑器  实例40 文件的字数统计程序  实例41 学生成绩管理程序 
4.1 SNGraph 一 点、向量 基本运算 二 直线(线段、射线) 直线(线段、射线)用起点、方向(单位向量)、线段长度表示。 包括如下功能:  点是否在直线上。  假定点在直线上,点到直线起点的有向距离。如果点在直线上,点到直线距离为n。如果n>=0,则点在射线上;如果(n>=0)&&(n <= 线段长度) ,则点在线段上。  两直线是否平行或重合。  两直线是否重合。  两直线是否垂直。  两直线交点。  两非平行直线距离。  求垂足。 三 平面 通过过平面一点和方向(单位矢量)表示平面。包括如下功能:  点到平面的有向距离。通过平面标准法向量和距离,可以求垂足;通过点到平面的距离的正负,可以看出多个点是否在同侧;如果点到平面的距离为0,则点在平面上,否则不在平面上。  直线是否在平面上  平面和直线的交点 通过调用其他功能可以实现的功能:  平面的法向量平行于直线,则平面和直线垂直  平面的法向量垂直于直线,则平面和直线平行  平面的法向量平行(垂直)则平面平行(垂直)  平行平面的距离等于平面任意一点到另一平面的距离 四 矩阵 包括以下功能:  初始化为单位矩阵。  为向x,y,z方向缩放建立矩阵。  为任意方向缩放建立矩阵。投影平面,可以通过向平面法线方向缩放0实现。平面镜像,可以通过向平面法线方向缩放-1实现。  为对一个点镜像建立矩阵。  为对一条直线镜像建立矩阵。  为对一条对称轴旋转建立矩阵。  求对应行列式的值。  求逆矩阵。  求转置矩阵。  左乘。  求对应行列式的代数余子式。  常见运算符。 4.2 SN 封装了许多基础的功能。 一 接口  读写锁。 二 避免依赖其它类库 有些类经常用于库间接口,所以需要避免依赖其它类库。  字符串类、函数,比如:宽字符、多字符间的转换。  时间类。  数组的封装。 三 其它  将错误信息记录到全局变量中,应用场景:构造函数和析构函数中throw会引起不可预料的问题。  安全缓存,额外开辟若干个字节的空间,并初始化为一个特定值,如果不越界,这些值不会改变。  智能指针,为了将关联降为依赖。CAutoPtr<C> m_pC代替C m_c,头文件中不需要引用C类的头文件。只需要声明C类,在源文件中引用C类的头文件。  MD5。  RSA。  SHA。  考虑溢出的加减法。比如:int型的10亿加20亿,-10亿减20亿。  通过表名、列名、某些列的值生成sql语句。  安全指针和防野指针类。防野指针类:在构造函数中将状态初始为已初始化,在析构函数中将状态设置为已释放。安全指针在使用时之前判断 防野指针类释放是“已初始化”,否则抛出异常。  将有参数的函数统一成没参数返回值类型void的仿函数。  遍历文件夹的文件和子文件夹。  随机数和排列组合。  系列化和反系列化。将对象和变量转化成二进制,并将二进制转回变量和对象。  拆分,如字符串。 4.3 SNMFC 一 网络功能  网络基本功能:如获取本机IP,通过域名获取IP,IE版本。  HTML对话框的封装类。  用于服务端的,带“回调类”的绑定监听类,利用IO完成端口。  用于客户端的,带“回调类”连接类,利用select模式完成,可以指定是否开启新线程。连接时,可以指定超时时间,默认5秒。如果直接调用系统的connect,超时时间是75秒。  能够自动处理“粘包”、“拆包”的二进制解析类。  安全套接字的辅助类,如:设置发送、连接超时。  比较服务端的某个文件夹和客户端的某个文件夹,并更新那些md5不同的文件。 二 多线程  用临界区实现的线程锁,和线程读写锁。  窗口辅助类。  开启一个线程并调用一个函数。  开启一个线程并循环调用一个函数。  支持多线程的日志。  启动一个线程,等待若干秒后,Post或Send一个消息后,结束线程。 三 界面  三态树控件。  列表框扩展类和函数。  树控件的扩展。  组合框的扩展。  关于窗口功能的封装。比如:从左到右依次排列子窗口,排不下则下一行。可以指定行间距。页眉和页脚是行间距的一半。  位图的加载和显示。 四 其它  Ini文件。  数组封装类。  获取硬件信息,如网卡。  文件或文件夹的常用功能。  注册表的扩展。 4.4 SNSTL  数组(向量)扩展。  用于多线程的向量。  JSON解析。  集合的扩展。  映射的扩展。  指针向量,可以存派生类。  指针映射,可以存派生类。 4.5 其它库  UnitTest,本机单元测试项目,对整个库的重要功能进行单元测试。  SNBCG,著名界面库的扩展,几乎没使用。  SNPicture,图形图像的处理(如转换bmp格式),几乎没使用。  SNMath,数学及数据结构库,几乎没使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

歪比八布

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值