九度OJ 1001 A+B for Matrices

題目鏈接: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;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章