矩阵变形

来源:互联网 发布:斯托克斯公式矩阵 编辑:程序博客网 时间:2024/05/19 20:19

一个9*9的矩阵,随机填入1-9之间的数字,写一个程序,检查矩阵,将含有1的行和列全部变为1。

#include <iostream>using namespace std;//一个9*9的矩阵,随机填入1-9之间的数字,写一个程序,检查矩阵,将含有1的行和列全部变为1void fun(int (*mat)[9]){int m,k=0,n=0;int h[9],w[9];for(int i=0;i<9;i++){for(int j=0;j<9;j++){if(mat[i][j]==1){h[k++] = i;//把对应的行标存到数组h中w[n++] = j;//把对应的列标存到数组w中}}}//把1元素所在的行变成1for(int i=0;i<k;i++){m = h[i];for(int j=0;j<9;j++){mat[m][j]=1;}}//把1元素所在的列变成1for(int i=0;i<n;i++){m = w[i];for(int j=0;j<9;j++){mat[j][m]=1;}}}void output(int (*mat)[9]){int i,j;for(i=0;i<9;i++){for(j=0;j<9;j++){printf("%5d",mat[i][j]);}printf("\n");}}void main(){printf("请输入9阶矩阵的各个元素:\n");int i,j;int mat[9][9];for(i=0;i<9;i++){for(j=0;j<9;j++){scanf("%d",&mat[i][j]);}printf("\n");}printf("未改变前的9阶矩阵如下:\n");output(mat);fun(mat);printf("改变后的9阶矩阵如下:\n");output(mat);system("pause");}

输出结果:


0 0
原创粉丝点击