2 weixin 34472988 weixin_34472988 于 2016.04.09 20:03 提问

一个二维数组的题 详细看图

一个M*N的二维数组,数学元素是0或者1,要求转换数组,将含有1的行和列全部置1图片说明

2个回答

Gentle_Guan
Gentle_Guan   2016.04.09 20:32
已采纳

#include

using namespace std;

int s[10001][10001],Map[10001][10001]= {0};
int main()
{
int m,n,i,j,k,l;
cout<<"请输入二位数组的行m,列n的值:"< cin>>m>>n;
cout<<"请输入二位数组中01信息:"< for (i=1; i {
for (j=1; j {
cin>>s[i][j];
}
}
for (i=1; i<=m; i++)
{
for (j=1; j<=n; j++)
{
if (s[i][j]==1&&Map[i][j]!=1)
{
for (k=1; k<=n; k++)
{
s[i][k]=1;
Map[i][k]=1;
}
for(l=1; l<=m; l++)
{
s[l][j]=1;
Map[l][j]=1;
}
}
}
}
for (i=1; i<=m; i++)
{
for (j=1; j<=n; j++)
{
cout<<s[i][j]<<"\t";
}
cout<<endl;
}

return 0;

}

Gentle_Guan
Gentle_Guan 回复weixin_34472988: 恩 ++
大约 2 年之前 回复
weixin_34472988
weixin_34472988 回复Gentle_Guan: 能用C语言写么?这是C++?
2 年多之前 回复
Gentle_Guan
Gentle_Guan   2016.04.09 20:33

#include

using namespace std;

int s[10001][10001],Map[10001][10001]= {0};
int main()
{
int m,n,i,j,k,l;
cout<<"请输入二位数组的行m,列n的值:"< cin>>m>>n;
cout<<"请输入二位数组中01信息:"< for (i=1; i {
for (j=1; j {
cin>>s[i][j];
}
}
for (i=1; i<=m; i++)
{
for (j=1; j<=n; j++)
{
if (s[i][j]==1&&Map[i][j]!=1)
{
for (k=1; k<=n; k++)
{
s[i][k]=1;
Map[i][k]=1;
}
for(l=1; l<=m; l++)
{
s[l][j]=1;
Map[l][j]=1;
}
}
}
}
for (i=1; i<=m; i++)
{
for (j=1; j<=n; j++)
{
cout<<s[i][j]<<"\t";
}
cout<<endl;
}

return 0;

}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
二维数组操作(编程题---简单)
题目描述 有一个数据表格为二维数组(数组元素为int类型),行长度为ROW_LENGTH,列长度为COLUMN_LENGTH。对该表格中数据的操作可以在单个单元内,也可以对一个整行或整列进行操作,操作包括交换两个单元中的数据;插入某些行或列。 请编写程序,实现对表格的各种操作,并跟踪表格中数据在进行各种操作时,初始数据在表格中位置的变化轨迹。
经典算法之二维数组中的查找问题
前言 数组可以说是是最简单的一种数据结构,它占据一块连续的内存并按照顺序存储数据结构。创建数组时,我们需要首先指定数组的容量大小,然后根据大小分配内存。即使我们只在数组中存储一个数字,也需要为所有的数据预先分配内存。因此数组的空间效率不是很好,经常会有空闲的区域没有得到充分利用。 由于数组中的内存是连续的,于是可以根据下标在O(1)时间读/写任何元素,因此时间效率是很高的。我们可以根据
第十四周总结:一维数组与二维数组编程题
一维数组设计一个程序,交换一维数组中最大元素与最小元素的位置,如{18,16,19,15,11,8}交换后为{18,16,8,15,11,19}。#include<iostream.h> void main( ) { float a[6]={18,16,19,15,11,8}; int i,max,min,j,k,t; cout<<"原数组为:\n"; for(i=0
运算符重载-编程题#3(C++程序设计第4周)
编程题 #3 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩。) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 写一个二维数组类 Array2,使得下面程序的输出结果是: 0,1,2,3, 4,5,6,7, 8,9,10,11, next 0,1,2,3, 4,5,6,
趣味看图竞猜
我在公司休息室的自动售货机上拍的,你能知道这个新增加的商品是什么吗?我说的是右边第一个蓝色的盒子。答对的奖励一盒,到我们公司来自取-o-。
面试题3 二维数组中的查找 java实现
题目:在一个二维数组中每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。完成一个函数,输入这样的数组和一个整数,判断数组中是否含有该整数。 思路:由于该二维数组从左到右,从上到下均为顺序递增的。因此右下角与左上角的数字均大于或小于其周围数字,如果选择改组作为起始点,则无法确定下一步的方向。而右上角的数字是同行最大值、同列最小值,选择该点为起始点则可以根据该数子与目标的比较确
牛客网刷题---二维数组中的查找(剑指offer)
题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。  输入描述: array: 待查找的二维数组 arrget:查找的数字 输出描述: 查找到返回true,查找不到返回false 我是从右上角开始差找的。 但有两点没考虑到
经典面试题——二维数组查找
题目:在一个二维数组中,每一行都从左到右递增,每一列也从上到下递增,请写一个函数给出这个二维数组和一个整数,判断数组中是够含有这个数。
牛客在线编程(剑指offer)---二维数组中的查找
题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路: 这个题目我之前在看书的时候看到过。要是没看,按我自己的思路肯定是遍历查找,复杂度O(n*n)。但是作者就给了一个很好的思路,就是从矩阵右上角开始查找,如果这个数是大于目标数,则要查找的目标数肯定是在这一列的左侧
用二维数组打印螺旋方阵 JAVA入门之数组
这是一个JAVA中关于二维数组的拔高题。