如果矩阵中某个元素为0,那么把它所在的行和列都置为0
来源:互联网 发布:c语言教程全套 编辑:程序博客网 时间:2024/06/07 16:48
遍历一次矩阵,当遇到元素等于0时,记录下这个元素对应的行和列。可以开一个行数组row和列数组col,当元素a[i][j]等于0时,就把row[i]和col[j]置为true。第二次遍历矩阵时,当某个元素对应的行row[i] 或列col[j]被设置为true,说明该元素在需要被置0的行或列上,因此将它置0。
#include <iostream>#include <cstring>using namespace std;#define Rows 3#define Columns 4int main(){ int a[Rows][Columns] = {{1,2,3,4},{5,6,0,8},{9,10,11,12}};int i,j;cout<<"原数组为:"<<endl;for(i=0;i<Rows;i++){for(j=0;j<Columns;j++)cout<<a[i][j]<<" ";cout<<endl;}int *row = new int[3];int *column = new int[4];memset(row,0,sizeof(row));memset(column,0,sizeof(column));for(i=0;i<Rows;i++){for(j=0;j<Columns;j++){if(a[i][j]==0){row[i]=1;column[j]=1;}}}for(i=0;i<Rows;i++){for(j=0;j<Columns;j++){if(row[i] || column[j])a[i][j]=0;}}cout<<"处理后数组为:"<<endl;for(i=0;i<Rows;i++){for(j=0;j<Columns;j++)cout<<a[i][j]<<" ";cout<<endl;}return 0;}
- 如果矩阵中某个元素为0,那么把它所在的行和列都置为0
- 【Java】若MxN矩阵中某个元素为0, 则将其所在的行与列清零
- 将矩阵中元素0所在的行和列置为0
- 矩阵中有0的元素,将它所在的行和列的元素设置为0
- 9.1数组与字符串(六)——若M*N矩阵中某个元素为0,则将其所在的行与列清零
- 程序员面试金典1.7:若M*N矩阵中某个元素为0,则将其所在的行与列清零
- 请编写一个算法,若MxN矩阵中某个元素为0,则将其所在的行与列清零。 给定一个MxN的int[][]矩阵(C++中为vector>)mat和矩阵的阶数n,请返回完成操作后的int[][]矩阵(C++中
- 将数组中0元素所在的行和列都置为0
- 将M*N矩阵中0元素所在的行、列的元素全部置为0
- 《程序员面试金典》--清除二维数组中元素为0所在的行和列
- 【前端面试】清除二维数组中元素为0所在的行和列
- 清除行列 请编写一个算法,若N阶方阵中某个元素为0,则将其所在的行与列清零。 给定一个N阶方阵int[][](C++中为vector<vector><int>>)mat和矩阵的阶数n,请返回完成操
- 将矩阵中值为0的元素所在的行和列设置为0, in-place O(1)space O(mn) time
- 把矩阵0元所在行列设置为0
- 面试7之请编写一个算法,若N阶方阵中某个元素为0,则将其所在的行与列清零。
- 给定一个m×n矩阵,如果一个元素为0,则将其整行和列的值设置为0.
- 有 M X N的矩阵,若行某行某列为0,则置0元素所在行列所有元素为0?
- 如果MxN 矩阵中有0,则把该元素的整行,列都变为0(算法)
- ORA-600 [kzsviver:1] Error On Setting Users’ Passwords [ID 554605.1]
- 浅谈协方差矩阵
- JAVA反射突破泛型的约束
- yum 报错Loading mirror speeds from cached hostfile
- Linux cpuinfo 详解
- 如果矩阵中某个元素为0,那么把它所在的行和列都置为0
- spring
- fcntl设置FD_CLOEXEC标志作用
- 大数除法 10494 - If We Were a Child Again
- Fatal error: Call to undefined function OCILogon() in D:\xampp\htdocs\chaxun\rbora.php on line 38
- simpson paradox
- Linux下查看端口占用进程号,程序名的方法
- ICE第二篇--一个"hello world"的简单例子
- MyEclipse快捷键设置(全面升级版本)