栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > C/C++/C#

CC++一维数组的矩阵转置

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CC++一维数组的矩阵转置

// 矩阵转置
#include 

using namespace std;

// 二维数据
struct TD_Data
{
	double val_1;
	double val_2;
};

TD_Data* Matrix(const TD_Data* matrix, int size_r, int size_c, TD_Data* new_matrix)
{
	// 1.打印原数据
	int flag = 0;
	for (int i = 0; i < size_r * size_c; i++){
		cout << "(" << matrix[i].val_1 << ',' << matrix[i].val_2 << ')' << " ";
		flag++;
		if (flag == size_c) {
			cout << endl;
			flag = 0;
		}
	}

	// 2.转置
	for (int row = 0; row < size_r; row++)
	{
		for (int col = 0; col < size_c; col++)
		{
			new_matrix[col * size_r + row] = matrix[row * size_c + col];
		}
	}

	// 3.打印结果矩阵
	flag = 0;
	for (int i = 0; i < size_r * size_c; i++) {
		cout << "(" << new_matrix[i].val_1 << ',' << new_matrix[i].val_2 << ')' << " ";
		flag++;
		if (flag == size_r) {
			cout << endl;
			flag = 0;
		}
	}

	// 返回值
	return new_matrix;
}

int main()
{
	TD_Data arr[6] = { 
		{1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10}, {11, 12}
	};
	// 3r 2c
	
	int row = -1, col = -1;
	cout << "请输入矩阵的行数和列数:";
	cin >> row >> col;
	TD_Data* brr = new TD_Data[row * col];
	Matrix(arr, row, col, brr);




	//int arr[3][2] = {
	//	{1,2},
	//	{3,4},
	//	{5,6}
	//};
	//int brr[2][3] = { 0 };
	//
	//for (int i = 0; i < 3; i++)
	//{
	//	for (int j = 0; j < 2; j++)
	//	{
	//		brr[j][i] = arr[i][j];
	//	}
	//}
	//
	//for (int i = 0; i < 2; i++)
	//{
	//	for (int j = 0; j < 3; j++)
	//	{
	//		cout << brr[i][j] << " ";
	//	}
	//	cout << endl;
	//}


	return 0;
}

 想要听详细讲解的小伙伴可以去这个链接了解哦:

【c/c++】一个视频理解数组和矩阵_哔哩哔哩_bilibili

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1038535.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号