C语言学习记录——矩阵转换(定义一个数组实现或定义两个数组实现)

2023-05-16

目录

题目要求

代码(定义两个数组)

运行结果图(定义两个数组)

代码(定义一个数组)

运行结果图(定义一个数组)

简易思路图解

 ​编辑

小结 


题目要求

有一个2 × 3的矩阵,将之转置为3 × 2的矩阵,并显示出这个转置后的矩阵。

如:

 

转置后:

 

先用两个数组的方法解决一下题目

代码(定义两个数组)

#include <stdio.h>
int main()
{
	//根据题目要求,建立两个二维数组
	//arr存储转置前的矩阵,num存储转置后的矩阵

	int arr[2][3] = { {1,2,3},{4,5,6} };
	int num[3][2];

	//row-行号下标,col-列号下标

	int row, col;

	//将原来的矩阵打印出来
	printf("2*3:\n");
	for (row = 0; row < 2; row++)
	{
		for (col = 0; col < 3; col++)
		{
			printf("%2d", arr[row][col]);
		}
		printf("\n");
	}
	
	//将转置的矩阵存进数组num

	for (row = 0; row < 3; row++)
	{
		for (col = 0; col < 2; col++)
		{
			num[row][col] = arr[col][row];
		}
	}

	//打印出新的矩阵
	printf("3*2:\n");
	for (row = 0; row < 3; row++)
	{
		for (col = 0; col < 2; col++)
		{
			printf("%2d", num[row][col]);
		}
		printf("\n");
	}
	return 0;
}

运行结果图(定义两个数组)

 接下来再用一个数组的方法解决一下题目

代码(定义一个数组)

#include <stdio.h>
int main()
{
	//因为原矩阵为2*3,新矩阵为3*2,总共要占用3行3列
	//故建立数组时,定义为arr[3][3],防止出现数组越界的情况

	int arr[3][3] = { {1,2,3},{4,5,6},{0,0,0} };
	int row,col;

	printf("2*3:\n");
	for(row = 0; row < 2; row++)
	{
		for (col = 0; col < 3; col++)
		{
			printf("%2d", arr[row][col]);
		}
		printf("\n");
	}

	printf("3*2:\n");
	for (col = 0; col < 3; col++)
	{
		for (row = 0; row < 2; row++)
		{
			printf("%2d", arr[row][col]);
		}
		printf("\n");
	}
	return 0;
}

运行结果图(定义一个数组)

简易思路图解

 

 

小结 

题目的关键点在于理解二维数组的下标,并且熟悉了解二维数组的行和列。

使用数组的时候更要注意数组越界的问题,如果出现了数组越界,打印出来的值将是不确定值。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言学习记录——矩阵转换(定义一个数组实现或定义两个数组实现) 的相关文章

随机推荐

  • log4j2 使用详解

    转载自 Blog of 天外的星星 xff1a http www cnblogs com leo lsw p log4j2tutorial html Log4j 2的好处就不和大家说了 xff0c 如果你搜了2 xff0c 说明你对他已经有
  • 基于webpack实现多html页面开发框架八 html引入图片打包和公共页面模块复用

    一 解决什么问题 1 html中img引入的图片地址没有被替换 xff0c 找不到图片 2 html公共部分复用问题 xff0c 如头部 底部 浮动层等 二 html中img引入图片问题解决 1 在index html插入img xff0c
  • 程序员入门编程,看这10本书,少走10年弯路

    如果能时光倒流 xff0c 回到过去 xff0c 作为一个开发人员 xff0c 你可以告诉自己在职业生涯初期应该读一本 xff0c 你会选择哪本书呢 xff1f 我希望这个书单列表内容丰富 xff0c 可以涵盖很多东西 高尔基曾说 书是人类
  • 编译vs2008的samples程序总是跳过

    编译vs2008的samples程序总是跳过 xff0c 要配置属性还显示 未能完成操作 未指定的错误 的解决办法 作者 admin 分类 开发问题 发布时间 2013 03 12 09 22 974 浏览数 6 没有评论 文章转自王牌软件
  • 二叉排序树的删除

    xff08 网上讲二叉排序树删除的资料很少 xff0c 这篇很不错 xff01 转自 xff1a http bbs csdn net topics 110010437 xff09 二叉排序树的删除 xff1a 对于一般的二叉树来说 xff0
  • MFC 用户界面线程:界面线程的退出 窗口关闭的流程

    原文链接 xff1a http wenku baidu com link url 61 6CFkWbLOeFgNoUsJniCX3ksw6 RztxMr9Z e6t7uu3e vV7UTKThUEkyRkq8IXwxIw5qYctN8gIx
  • MFC用户界面多线程实例2

    以下是 MFC 用户界面线程相关知识 由于用户界面线程含有自己的消息循环 xff0c 可以出来 Windows 消息 xff0c 并可创建和管理诸如窗口和控件等用户界面 元素 因此 xff0c 这 种线程较工程线程更为复杂 创建用户界面线程
  • 反汇编定位代码崩溃位置_1

    原帖 xff1a http blog csdn net gwzz1228 article details 9045853 利用map xff0c cod文件定位崩溃代码行 利用vs2010 新建一个空的控制台项目 xff0c 添加文件gtg
  • 反汇编定位代码崩溃位置_3

    原帖 xff1a http blog sina com cn s blog 141f234870102van8 html win7 43 vs2010通过map文件和cod文件找到崩溃的代码行 2015 01 11 11 31 04 转载
  • 反汇编定位代码崩溃位置_4

    原帖 xff1a http blog csdn net xiao article details 23177577 GDB如何从Coredump文件恢复动态库信息 标签 xff1a GDBcoredumpso调试动态库 2014 04 08
  • C链表反转

    节点 struct Note int value Note pNext typedef struct Note PList 生成一个链表 Note GenerateList 输出一个链表 void PrintList Note pHead
  • FtpClient.storeFile返回false解决方法

    今天在利用FTP将客户端文件存储到服务器端时 xff0c 在调用ftpClient storeFile方法后 xff0c 总是返回false xff0c 在百度之后 xff0c 有提到说添加一行 ftpClient enterLocalPa
  • 压缩软件介绍

    压缩软件介绍 一 xff0e 关于WINRAR压缩 ZIP 1 最大优点就是普及率 2 相对RAR格式来说它的压缩速度会要快一些 RAR 1 对比ZIP来说RAR是一次长足的进步 它能够提供更好的压缩比率 2 支持固实压缩模式 对存在很多重
  • ubuntu 使用MobaXterm和cpolar配置外网访问ssh和vnc

    目录 1 首先下载MobaXterm xff1a mobaxterm 2 注册并在ubuntu服务器上安装cpolar xff1a cpolar 安装说明 xff1a 3 保留固定TCP地址 xff08 此步骤可跳过 xff0c 但需要每天
  • copy-webpack-plugin HookWebpackError: Not supported

    前言 运行项目时 xff0c 控制台报错 HookWebpackError Not supported 定位问题发现与 copy webpack plugin 相关 本文主要记录下解决方案 一 控制台报错 二 copy webpack pl
  • 字符串子串的查找

    1 考虑用标准函数库中 strstr 函数 包含文件 xff1a string h 函数名 strstr 函数原型 xff1a extern char strstr char str1 char str2 功能 xff1a 从字符串str1
  • Ubuntu20.04下,搭建hexo个人博客

    一些说明和资源 所使用到的软件版本 xff1a UbuntuNginxGithexo20 04 LTS1 18 02 25 15 4 0 其他说明 xff1a 这里所演示的是在 VirtualBox 中进行的 xff0c 实际工作场景可以是
  • **打开virt-manager报错:** (virt-manager:6079): Gtk-WARNING **: 19:57:38.863: cannot open display:

    打开virt manager报错 virt manager 6079 Gtk WARNING 19 57 38 863 cannot open display 安装 xorg x11 font utils包后可以正常打开 xff1a roo
  • 火影推荐程序连载52-什么是Serilog?

    上文说到Nlog日志框架 xff0c 感觉它功能已经很强大 xff0c 今天给大家介绍一个很不错的日志框架Serilog xff0c 根据我的了解 xff0c 感觉它最大的优势是 xff0c 结构化日志 xff0c 它输出的日志是Json的
  • C语言学习记录——矩阵转换(定义一个数组实现或定义两个数组实现)

    目录 题目要求 代码 xff08 定义两个数组 xff09 运行结果图 xff08 定义两个数组 xff09 代码 xff08 定义一个数组 xff09 运行结果图 xff08 定义一个数组 xff09 简易思路图解 编辑 小结 题目要求