九度OJ 1001 A+B for Matrices

本文介绍了一个简单的程序,用于实现两个矩阵的加法,并统计加法后矩阵中每一行和每一列中所有元素均为0的个数。通过输入矩阵的行列数及元素值,程序能够计算出符合要求的行和列的数量。

题目链接:http://ac.jobdu.com/problem.php?pid=1001

题目分析:

题目看起来要耐心,题目写的很难懂,看懂了之后会发现原来是一道非常简单的题目。

首先输入矩阵的行列数,然后输入矩阵的信息,这里要输入两个一样行列数的矩阵,然后将两个矩阵相加,分别计算相加之后的得到的新矩阵的每一行,每一列都为0的个数,然后得到为0个数的总和。

源代码:

#include<iostream>
using namespace std;

int main()
{

	int i,j;	//行列数
	int k = 0;	//行,列和为0的个数
	int sum1 = 0, sum2 = 0;	//行的和,列的和
	int a1[100][100] = {0}, a2[100][100] = {0};//二维数组保存矩阵信息

	while(1)
	{
		cin>>i;
		if (i == 0)
		{
			break;	//输入0时程序结束
		}
		cin>>j;
		//输入第一个矩阵
		for(int n1 = 0; n1 < i; n1++)
		{
			for(int n2 = 0; n2 < j; n2++)
			{
				cin>>a1[n1][n2];
			}
		}
		//输入第二个矩阵
		for(int n1 = 0; n1 < i; n1++)
		{
			for(int n2 = 0; n2 < j; n2++)
			{
				cin>>a2[n1][n2];
			}
		}

		//计算每一行相加后为0的个数
		for(int n1 = 0; n1 < i; n1++)
		{
			for (int n2 = 0; n2 < j; n2++)
			{
				sum1 = sum1 + a1[n1][n2] + a2[n1][n2];
			}
			if (sum1 == 0)
			{
				k++;
			}
			sum1 = 0;

		}

		//计算每一列相加后为0的个数
		for(int n2 = 0; n2 < j; n2 ++)
		{
			for (int n1 = 0; n1 < i; n1 ++)
			{
				sum2 = sum2 + a1[n1][n2] + a2[n1][n2]; 
			}
			if (sum2 == 0)
			{
				k++;
			}
			sum2 = 0;

		}

		cout<<k<<endl;
		k = 0;
	}

	return 0;
}


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值