二維矩陣的算法


源程序:

/*
//1、二維矩陣原樣輸出
//2、轉90度輸出
//3、每行最后增加一個元素,變成正方形矩陣輸出
//4、求矩陣中的最大值和最小值
//5、求主對角線和副對角線之和
*/
#include <stdio.h>
int main()
{
int Numbers[4][3]={1,1,1,
2,4,8,
3,9,27,
4,16,64};
int Num[4][4]={1,1,1,0,
2,4,8,0,
3,9,27,0,
4,16,64,0,};
int i,j; //i和j是循環變量,i表示行,j表示列
printf("原二維數組如下:\n");
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
printf("%3d",Numbers[i][j]);
}
printf("\n"); //每輸出一行,回車換行
}
printf("\n");
printf("轉置以后的二維數組:\n");
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
printf("%3d",Numbers[j][i]);
}
printf("\n"); //每輸出一行,回車換行
}
printf("\n");
//在二維數組中輸出最大值和最小值
int max,min;
max=min=Numbers[0][0];
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
if(Numbers[i][j]>max)
max=Numbers[i][j];
if(Numbers[i][j]<min)
min=Numbers[i][j];
}
//printf("\n"); //每輸出一行,回車換行
}
printf("矩陣中的最大值為:%d\t,最小值為:%d\n",max,min);
//二維數組每行最后加一個元素
printf("\n二維矩陣每行最后增加一個元素8\n");
int add[4]={8,8,8,8};
for(i=0;i<4;i++)
{
Num[i][3]=add[i];
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
printf("%3d",Num[i][j]);
}
printf("\n");
}
//二維矩陣對角線之和
printf("\n");
int sum=0;
for(i=0;i<4;i++)
{
sum=sum+Num[i][i];
}
printf("主對角線之和為:%d\n",sum);

//副對角線之和
int sum1=0;
for(i=0;i<4;i++)
{
sum1=sum1+Num[i][3-i];
}
// Num[0][3]; //分析的過程
// Num[1][2];
// Num[2][1];
// Num[3][0];
printf("副對角線之和為:%d\n",sum1);
return 1;
}

 運行結果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM