首页 > 试题广场 >

矩阵计算

[编程题]矩阵计算
  • 热度指数:18062 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

输入NxM矩阵,矩阵元素均为整数,计算其中大于零的元素之和。


输入描述:
第一行为N M(N: 矩阵行数;M: 矩阵列数,且M,N<=10),接下来的N行为矩阵各行。


输出描述:
一行,其中大于零的元素之和。
示例1

输入

3 3
2 3 4
-5 -9 -7
0 8 -4

输出

17
a,b = map(int,input().split())
list1 = []
sum = 0
for i in range(a):
    list1.extend(list(map(int,input().split())))
for i in list1:
    if i>0:
        sum+=i
print(sum)

发表于 2020-11-29 11:38:48 回复(0)
#include<stdio.h>
int main()
{
    int arr[100] = {0},n,m,sum = 0;
    scanf("%d %d",&n,&m);
    for(int i = 0;i < n*m;i++)
    {
        scanf("%d",&arr[i]);
        if(arr[i] > 0)
            sum += arr[i];
    }
    printf("%d\n",sum);
    return 0;
}

发表于 2022-08-04 14:50:01 回复(0)
#include <stdio.h>
#include <string.h>


int main()
{
    int a[100][100];
    int i,M,N;//M*N
    int sum = 0;
    scanf("%d%d",&M,&N);
    for(i=0;i<M;i++)
    {
        int j;
        for(j=0;j<N;j++)
        {
            scanf("%d",&a[i][j]);
            if(a[i][j] > 0)
            sum += a[i][j];
        }
                }
    printf("%d",sum);
    
    return 0;
}

发表于 2021-09-06 14:48:49 回复(0)
a,b=map(int,input().split())
arr=[]
for i in range(a):
    c=list(map(int,input().split()))
    for i in c:
        if i>0:
            arr.append(i)
print(sum(arr))


编辑于 2021-07-11 16:11:35 回复(0)
#include<stdio.h>
int main(){
    int n,m,sum=0;
    scanf("%d %d",&n,&m);
    int a[n][m];
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            scanf("%d",&a[i][j]);
            if(a[i][j]>0)
                sum+=a[i][j];
        }
    }
    printf("%d\n",sum);
    return 0;
}

发表于 2021-04-09 18:38:42 回复(0)
本题比较简单  用if判断后输出其和就行
#include<iostream>

using namespace std;
int main() {
    int N,M,sum;
    cin >> N;
    cin >> M;
    int a[N][M];
    for(int i = 0;i<N;i++)
        for(int j = 0;j<M;j++){
            cin>>a[i][j];
        }
     for(int i = 0;i<N;i++)
        for(int j = 0;j<M;j++){
            if(a[i][j]>0){
                sum += a[i][j];
            }
        }
    cout<<sum;
    return 0;
}

编辑于 2021-01-09 21:36:25 回复(0)
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num=0;
        int m=sc.nextInt();
        int n=sc.nextInt();
        int[][] array=new int[m][n];
        for (int i=0;i<m;i++){
            for (int j=0;j<n;j++){
                array[i][j]=sc.nextInt();
                if(array[i][j]>0){
                    num+=array[i][j];
                }
            }
        }
        System.out.println(num);
    }
}

发表于 2020-05-29 09:09:29 回复(0)
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int sum = 0;
    int i, j, n, m;
    
    while (scanf("%d %d", &n, &m) != EOF && (n > 0 && n <= 10) && (m > 0 && m <= 10))
    {
        int (*a)[m] = (int (*)[m])malloc(n * m * sizeof(int));
        if (NULL == a)
        {
            fprintf(stderr, "Memory allocation failed!\n");
            exit(EXIT_FAILURE);
        }
        for (i = 0; i < n; i++)
        {
            for (j = 0; j < m; j++)
            {
                scanf("%d", &a[i][j]);
            }
        }
        for (i = 0; i < n; i++)
        {
            for (j = 0; j < m; j++)
            {
                if (a[i][j] > 0)
                {
                    sum += a[i][j];
                }
            }
        }
        printf("%d\n", sum);
        free(a);
        a = NULL;
    }
    
    return 0;
}
//simple problem;
编辑于 2020-04-18 22:48:35 回复(0)
#include<stdio.h>
int main(){
    int n,m,t,s=0;
    scanf("%d %d",&n,&m);
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            scanf("%d",&t);
            if(t>0)s+=t;
        }
    }
    printf("%d",s);
    return 0;
}

发表于 2020-08-12 21:49:58 回复(0)
#include <stdio.h>

int main() {
    int a, N, M, sum = 0;
    scanf("%d %d", &M, &N);
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < M; j++) {
            scanf("%d", &a);
            if (a > 0) {
                sum += a;
            }
        }
    }
    printf("%d", sum);
    return 0;
}

编辑于 2024-01-22 22:40:12 回复(0)
#include <stdio.h>

int main() {
    int m,n,a[110],b=0,sum=0;
    scanf("%d %d",&m,&n);
    while (scanf("%d", &a[b]) != EOF){
        if(a[b]>0)sum+=a[b];
        b++;
    }
    printf("%d",sum);
    return 0;
}

编辑于 2024-01-14 09:57:58 回复(0)
#include <stdio.h>
int main()
{
    int n = 0,m = 0,sum = 0,arr[11][11] = {0};
    scanf("%d%d",&n,&m);
    for(int i = 1;i<=n;i++)
    {
        for(int j = 1;j<=m;j++)
        {
            scanf("%d",&arr[i][j]);//输入
            if(arr[i][j]>0)//判断
                sum+=arr[i][j];//求和
        }
    }
    printf("%d",sum);
    return 0;
}

发表于 2023-03-16 19:30:03 回复(0)
#include 
int main()
{
    int i=0,j=0,tmp=0,sum=0;
    int row=0,col=0;
    scanf("%d%d",&row,&col);
    for(i=0;i<row;i++)
    {
      for(j=0;j<col;j++)
       {
          scanf("%d",&tmp);
          if(tmp>0)
          sum+=tmp;
       }
    }
   printf("%d",sum);
    return 0;
}
发表于 2022-09-27 22:54:02 回复(0)
#include <stdio.h>
int main(){
    int n, m, temp, sumOfPosit = 0;
    scanf("%d%d",&n,&m);
    for(int i = 0; i < n * m; i++){
        scanf("%d",&temp);
        if(temp > 0){
            sumOfPosit += temp;
        }
    }
    printf("%d",sumOfPosit);
    return 0;
}

发表于 2022-08-20 10:36:47 回复(0)
#include <bits/stdc++.h>
using namespace std;
int main(){ 
    int n, m;
    cin>>n>>m;
    int a, sum = 0;
    while(cin>>a){
        if(a > 0)
            sum += a;
    }
    cout<<sum;
    return 0;
}

发表于 2022-01-21 21:16:02 回复(0)
#include<stdio.h>
int main()
{
    int i,j,m,n,arr[10][10];
    int sum=0;
    scanf("%d %d",&m,&n);
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            scanf("%d",&arr[i][j]);
        }
    }
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            if(arr[i][j]>0)
            {
                sum+=arr[i][j];
            }
        }
    }
    printf("%d\n",sum);
    return 0;
}
发表于 2022-01-20 16:36:46 回复(0)
#include <stdio.h>

int main() {
    int n,m;
    scanf("%d %d",&n,&m);
    int i,j,sum=0;
    int array[n][m];
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&array[i][j]);
        }
    }
    for(i=0;i<n;i++)
    {
      for(j=0;j<m;j++)
      {
        if(array[i][j]>0)
        {
          sum+=array[i][j];
        }
      }
    }
    printf("%d",sum);
    return 0;
}

发表于 2024-10-02 11:24:17 回复(0)
def addarr( ):
    total = 0 
    for i in range(1, n + 1):
        arr1 = list(map(int, input().split()))
        total+=sum(filter(lambda x: x>0,arr1))
    return total
if __name__  == "__main__":
    n, m = list(map(int, input().split()))
    resu = addarr( )
    print(resu )

发表于 2024-09-28 01:44:55 回复(0)
#include <stdio.h>

int main() {
    int N,M;
    int k = 0;
    int count = 0;
    scanf("%d %d",&N, &M);
    for(int i = 1; i <= N*M; i++)
    {
        scanf("%d",&k);
        count += k > 0? k :0;
    }
    printf("%d\n",count);
    return 0;
}
发表于 2024-08-19 10:22:11 回复(0)
#include <stdio.h>

int main() {
    int N,M;
    int sum=0;
    scanf("%d%d",&N,&M);
    int arr[N][M];
    for(int i=0;i<N;i++)
    {
        for(int j=0;j<M;j++)
        scanf("%d",&arr[i][j]);
    }
     for(int i=0;i<N;i++)
    {
        for(int j=0;j<M;j++)
        {
       if(arr[i][j]>0)
       sum+=arr[i][j];
        }
    }
    printf("%d",sum);
    return 0;
}
发表于 2024-08-03 08:42:18 回复(0)

问题信息

上传者:牛客309119号
难度:
107条回答 1870浏览

热门推荐

通过挑战的用户

查看代码
矩阵计算