欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++實(shí)現(xiàn)轉(zhuǎn)置矩陣的循環(huán)

 更新時(shí)間:2022年01月02日 09:37:22   作者:Alkaid#3529  
大家好,本篇文章主要講的是C++實(shí)現(xiàn)轉(zhuǎn)置矩陣的循環(huán),感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽

前言

矩陣的轉(zhuǎn)置主要考查我們對(duì)循環(huán)的使用,通過(guò)簡(jiǎn)單的循環(huán)結(jié)構(gòu),我們可以很方便的完成矩陣的轉(zhuǎn)置。

在這里插入圖片描述

一、思路分析

轉(zhuǎn)置矩陣與原矩陣的區(qū)別在于行列交換,我們可以構(gòu)建一個(gè)二維數(shù)組完成對(duì)原矩陣的存儲(chǔ),我們只需將每個(gè)元素與其行列相反的位置處的元素進(jìn)行交換,就可完成對(duì)矩陣的轉(zhuǎn)置。

在這里插入圖片描述

二、代碼實(shí)現(xiàn)

1.轉(zhuǎn)置矩陣函數(shù)

我們首先編寫(xiě)一個(gè)函數(shù),完成對(duì)矩陣的轉(zhuǎn)置。

代碼如下(示例):

/* Alkaid#3529 */

// 轉(zhuǎn)職矩陣函數(shù),按照指定的矩陣大小將矩陣轉(zhuǎn)置
void transpose_matrix(int matrix[10][10], int a);

// 函數(shù)實(shí)現(xiàn)
void transpose_matrix(int matrix[10][10], int a) // int matrix[10][10] 為存儲(chǔ)矩陣的數(shù)組,int a 為所需轉(zhuǎn)置矩陣的大小
{
	int mid = 0; // 中間量,輔助值的傳遞

	for (int i = 0; i < a; i++) // 從行開(kāi)始,逐行檢索
	{
		for (int j = i + 1; j < a; j++) // 對(duì)該行每一列的元素檢索
		{
		// 將對(duì)應(yīng)位置的兩個(gè)元素交換位置
			mid = matrix[i][j];
			matrix[i][j] = matrix[j][i];
			matrix[j][i] = mid;
		}
	}

	return;
}

2.調(diào)用函數(shù)實(shí)現(xiàn)轉(zhuǎn)置矩陣

我們?cè)谥骱瘮?shù)中只需調(diào)用已經(jīng)寫(xiě)好的函數(shù),對(duì)轉(zhuǎn)置前后的矩陣分別輸出即可。

代碼如下(示例):

/* Alkaid#3529 */

#include<iostream>
using namespace std;

// 轉(zhuǎn)職矩陣函數(shù),按照指定的矩陣大小將矩陣轉(zhuǎn)置
void transpose_matrix(int matrix[10][10], int a);

int main()
{

	int matrix[10][10];
	int size = 0;


	for (int i = 0; i < 10; i++)
	{
		for (int j = 0; j < 10; j++)
		{
			matrix[i][j] = (i * i + j * i + j ^ i) % 10;
		}
	}

	//  讀入要求的矩陣大小,方便起見(jiàn),使用矩陣的默認(rèn)值,默認(rèn)為方陣
	cout << "請(qǐng)輸入矩陣的尺寸 (方便起見(jiàn),矩陣大小設(shè)在10以內(nèi)) :\n";
	cout << "size = ";
	cin >> size;

	cout << "\n原矩陣為:\n";

	// 輸出原矩陣
	for (int i = 0; i < size; i++)
	{
		for (int j = 0; j < size; j++)
		{
			cout << matrix[i][j] << "  ";
		}
		cout << endl;
	}

	transpose_matrix(matrix, size);

	cout << "\n轉(zhuǎn)置后的矩陣為:\n";

	//  輸出轉(zhuǎn)置后的矩陣
	for (int i = 0; i < size; i++)
	{
		for (int j = 0; j < size; j++)
		{
			cout << matrix[i][j] << "  ";
		}
		cout << endl;
	}

	return 0;

}

void transpose_matrix(int matrix[10][10], int a)
// int matrix[10][10] 為存儲(chǔ)矩陣的數(shù)組,int a 為所需轉(zhuǎn)置矩陣的大小
{
	int mid = 0; // 中間量,輔助值的傳遞

	for (int i = 0; i < a; i++) // 從行開(kāi)始,逐行檢索
	{
		for (int j = i + 1; j < a; j++) // 對(duì)該行每一列的元素檢索
		{
			// 將對(duì)應(yīng)位置的兩個(gè)元素交換位置
			mid = matrix[i][j];
			matrix[i][j] = matrix[j][i];
			matrix[j][i] = mid;
		}
	}

	return;
}

運(yùn)行程序,看看效果如何。

在這里插入圖片描述

在這里插入圖片描述

正常運(yùn)行,且功能完整,可以放心復(fù)制黏貼使用。

總結(jié)

矩陣轉(zhuǎn)置,除了本文介紹的方法外,還可以利用三元組的形式完成對(duì)稀疏矩陣的轉(zhuǎn)置,感興趣的話不妨點(diǎn)個(gè)關(guān)注,會(huì)在后續(xù)的數(shù)據(jù)和結(jié)構(gòu)與算法專欄進(jìn)行詳細(xì)講解哦!

到此這篇關(guān)于C++實(shí)現(xiàn)轉(zhuǎn)置矩陣的循環(huán)的文章就介紹到這了,更多相關(guān)C++轉(zhuǎn)置矩陣循環(huán)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++回調(diào)函數(shù)實(shí)現(xiàn)計(jì)算器和qsort

    C++回調(diào)函數(shù)實(shí)現(xiàn)計(jì)算器和qsort

    這篇文章主要介紹了C++回調(diào)函數(shù)實(shí)現(xiàn)計(jì)算器和qsort,回調(diào)函數(shù)就是一個(gè)通過(guò)函數(shù)指針調(diào)用的函數(shù)。如果你把函數(shù)的指針(地址)作為參數(shù)傳遞給另一個(gè)函數(shù),當(dāng)這個(gè)指針被用來(lái)調(diào)用其所指向的函數(shù)時(shí),我們就說(shuō)這是回調(diào)函數(shù)
    2022-08-08
  • C++ 獲取dll當(dāng)前路徑下所有文件

    C++ 獲取dll當(dāng)前路徑下所有文件

    本文主要介紹了C++ 獲取dll當(dāng)前路徑下所有文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • C語(yǔ)言實(shí)現(xiàn)父進(jìn)程主動(dòng)終止子進(jìn)程的方法總結(jié)

    C語(yǔ)言實(shí)現(xiàn)父進(jìn)程主動(dòng)終止子進(jìn)程的方法總結(jié)

    一般的情況,子進(jìn)程自己運(yùn)行完后,執(zhí)行exit 或者return 后,父進(jìn)程wait.  waitpid收回子進(jìn)程,但子進(jìn)程是一個(gè)循環(huán)等待狀態(tài)不主動(dòng)退出,父進(jìn)程可以采用文中介紹的幾種方法,需要的朋友可以參考下
    2023-10-10
  • C++ 成員變量的初始化順序問(wèn)題詳解

    C++ 成員變量的初始化順序問(wèn)題詳解

    這篇文章主要介紹了C++ 成員變量的初始化順序問(wèn)題詳解的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • c++ primer中的const限定符

    c++ primer中的const限定符

    這篇文章主要介紹了c++ primer中的const限定符,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • C/C++細(xì)數(shù)宏與函數(shù)有那些區(qū)別

    C/C++細(xì)數(shù)宏與函數(shù)有那些區(qū)別

    在C程序中,可以用宏代碼提高執(zhí)行效率。宏代碼本身不是函數(shù),但使用起來(lái)象函數(shù)。預(yù)處理器用復(fù)制宏代碼的方式代替函數(shù)調(diào)用,省去了參數(shù)壓棧、生成匯編語(yǔ)言的CALL調(diào)用、返回參數(shù)、執(zhí)行return等過(guò)程,從而提高了速度
    2022-10-10
  • 字符串中找出連續(xù)最長(zhǎng)的數(shù)字字符串的實(shí)例代碼

    字符串中找出連續(xù)最長(zhǎng)的數(shù)字字符串的實(shí)例代碼

    這篇文章介紹了字符串中找出連續(xù)最長(zhǎng)的數(shù)字字符串的實(shí)例代碼,有需要的朋友可以參考一下
    2013-09-09
  • Java C++ 算法題解leetcode1582二進(jìn)制矩陣特殊位置

    Java C++ 算法題解leetcode1582二進(jìn)制矩陣特殊位置

    這篇文章主要為大家介紹了Java C++ 算法題解leetcode1582二進(jìn)制矩陣特殊位置示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • VC++中的字體設(shè)置方法詳解

    VC++中的字體設(shè)置方法詳解

    以下是對(duì)VC++中的字體設(shè)置方法進(jìn)行了詳細(xì)的介紹,需要的朋友可以過(guò)來(lái)參考下
    2013-09-09
  • MFC中exe圖標(biāo)修改的方法

    MFC中exe圖標(biāo)修改的方法

    修改窗口標(biāo)題圖標(biāo)可通過(guò)導(dǎo)入圖標(biāo),然后在CMainFrame.:OnCreate函數(shù)中加載圖標(biāo)即可, 代碼如下:
    2013-04-04

最新評(píng)論