题目1001:A+B for Matrices(简单循环)

问题来源

  http://ac.jobdu.com/problem.php?pid=1001

问题描述

  给你两个形式相同的矩阵,对应位置相加得到新矩阵,计算里面全为0的行数和列数。

问题分析

  这里其实只需要开一个二维数组就可以,我们可以在输入第二个矩阵时就在第一个矩阵的基础上做循环判断计数就可以了。

参考代码

//
// Created by AlvinZH on 2017/4/24.
// Copyright (c) AlvinZH. All rights reserved.
//

#include <iostream>
#include <cstdio>
using namespace std;

int main()
{
    int n,m,a;
    int mat1[100][100];
    int ans;
    while(~scanf("%d",&n))
    {
        if(n==0) break;
        scanf("%d",&m);
        ans=0;
        for(int i=0;i<n;i++)
            for(int j=0;j<m;j++)
                scanf("%d",&mat1[i][j]);
        for(int i=0;i<n;i++)
            for(int j=0;j<m;j++)
            {
                scanf("%d",&a);
                mat1[i][j]+=a;
            }

        for(int i=0;i<n;i++)
        {
            bool flag=true;
            for(int j=0;j<m;j++)
            {
                if(mat1[i][j]!=0)
                {
                    flag=false;
                    break;
                }
            }
            if(flag) ans++;
        }
        for(int j=0;j<m;j++)
        {
            bool flag=true;
            for(int i=0;i<n;i++)
            {
                if(mat1[i][j]!=0)
                {
                    flag=false;
                    break;
                }
            }
            if(flag) ans++;
        }
        printf("%d\n",ans);
    }
    return 0;
}

 

作者: AlvinZH

出处: http://www.cnblogs.com/AlvinZH/

本人Github:https://github.com/Pacsiy/JobDu

本文版权归作者AlvinZH和博客园所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

posted @ 2017-04-24 23:23  AlvinZH  阅读(270)  评论(0编辑  收藏  举报