C++复习笔记之从0到1(011)

循环、矩阵

#include<iostream>
using namespace std;
/*
     功能:计算矩阵边缘元素之和
     思路:
        1 求出整个矩阵所有元素的和sum2
        2 求出不包含第1行、第n-1行、第1列、第m-1列的小矩阵的所有元素的和sum1
        3 矩阵边缘元素之和sum2-sum1 
*/
int main() {
    
    cout << "input" << endl;
    
    int row = 0;
    int col = 0;
    cin >> row >> col;
    
    int rectangle[row][col];
    
    char ch;
    if ((ch=getchar())=='\n') {
        char c;
        while((c=getchar())!='\n')
        {
            if(c>='0'&&c<='9')
            {
                ungetc(c,stdin);
                for(int m = 0;m < row;m++) {
                    for(int n = 0; n < col;n++) {
                        cin >> rectangle[m][n];
                    }    
                }                
            }
        }
    }
    
    int sum = 0;
    int sum1 = 0;
    int sum2 = 0;
    
   //不包含第一行,第n-1行,第1列,第m-1列的矩阵
for(int i = 1;i < (row - 1);i++) { for(int j = 1;j < (col - 1);j++) { sum1 += rectangle[i][j]; } }
   //矩阵所有元素的和
for(int x = 0;x < row ;x++) { for(int y = 0;y < col;y++) { sum2 += rectangle[x][y]; } }
  
   //求出的数值是边缘元素的和 sum
= sum2 -sum1;
   cout << "output" << endl; cout
<< sum << endl; return 0; }

测试结果:

猜你喜欢

转载自www.cnblogs.com/mrray1105/p/11266471.html